2017-02-24 175 views
0

我正嘗試加載以下文件:QT資源QRC未找到

<!DOCTYPE RCC><RCC version="1.0"> 
<qresource prefix="/mike"> 
    <file alias="mike.json">mike.json</file> 
</qresource> 
</RCC> 

QFile file(":/mike/mike.json"); 

但它不工作。

所以我感動

<qresource prefix="/mike"> 
    <file alias="mike.json">mike.json</file> 
</qresource> 

到另一個.qrc文件。然後它工作。

是否有某種方式進行調試以檢查是否至少創建了前綴?

我從

SOURCES += \ 
    $$PWD/form.cpp 

HEADERS += \ 
    $$PWD/form.h 

RESOURCES = $$PWD/mike.qrc 

加載它和.cpp和.h文件可用。我不明白爲什麼​​似乎沒有被解析。

+0

你嘗試過使用'QFile文件(「qrc:/mike/mike.json」);'? – Redanium

回答

0

是否有某種方式進行調試以檢查是否至少創建了前綴?

方法1:使用GammaRay,它可以顯示您的資源樹。方法2:在您的應用程序中,使用從:/開始的遞歸QDirIterator,並轉儲找到的文件名。

+0

使用方法2我發現沒有加載.qrc文件中的資源文件集。這是有原因的嗎? – KcFnMi

+0

你的意思是說它不在那個dir迭代器列出的樹中? (你確定它是遞歸的嗎?) – peppe