2013-04-27 6 views
8

以下のコードがあります。 Qt_5_0_2_MSVC2012_64bit-Releaseを使用しています。私はファイルを読むことができません。私は "読み込み用にファイルを開くことができません"というデバッグエラーメッセージを受け取ります。私にはリソースファイルに関する問題があります。どのように私はそれを修正することができますどのような考え?ありがとう!Qtリソースシステム(Qt 5.0.2)のファイルの読み書き

#include <QCoreApplication> 
#include <QFile> 
#include <QString> 
#include <QDebug> 
#include <QTextStream> 
#include <QResource> 
#include <QIODevice> 


void Read(QString Filename){ 
    QFile mFile(Filename); 

    if(!mFile.open(QFile::ReadOnly | QFile::Text)){ 
     qDebug() << "could not open file for read"; 
     return; 
    } 

     QTextStream in(&mFile); 
     QString mText = in.readAll(); 

     qDebug() << mText; 

     mFile.close(); 



} 
int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 

    Read(":/MyFiles/myfile.txt"); 
    return a.exec(); 
} 
+2

1)正確な理由2についての詳細を学ぶために、あなたのデバッグ出力にmFile.errorStringを()を追加します)QRCファイルの内容を追加します。 –

+0

Qtリソースは読み込めますが、コンパイル後は書き込めません。 –

答えて

2

test.pro

TEMPLATE = app 
TARGET = test 
INCLUDEPATH += . 

# Input 
SOURCES += main.cpp 
RESOURCES += test.qrc 

test.qrc

<!DOCTYPE RCC><RCC version="1.0"> 
<qresource> 
    <file>MyFiles/myfile.txt</file> 
</qresource> 
</RCC> 

main.cppは、あなたの質問からです。正常に動作します。

まだ問題が残っている場合は、エラーのある最小限のQtプロジェクト(.proと.qrcファイルを含む)を投稿する必要があります。

3

同じ問題がありました。エラー文字列は "Unknown error"でした。
ソリューションは、@ガットの答えからINCLUDEPATH += .を追加し、メニューからコマンドを実行することでした:

1. Build -> Clean all 
2. Build -> Run qmake 
3. Build -> Rebuild All 
関連する問題