在我見過的所有例子中,項目中的所有qml文件都打包在一個「qml.qrc」中,有時在不同的前綴或不同的目錄下。如何使用不同的qrc資源文件中指定的qml文件?
要從不同的qml文件訪問項目,只需導入它們。
如果文件相同的前綴下,但在不同的物理目錄,那麼它的
import "dirname"
如果這些文件在不同的前綴,這是
import "qrc:/prefixname/dirname"
然而,如果有問題的項目在不同的qrc文件中該怎麼辦?
documentation沒有提到這一點。有沒有一個很好的地方,所有有關import
的詳細介紹?如何導入單個文件,如何導入整個目錄,如果文件位於不同的文件夾,不同的前綴,不同的資源等,我找不到。
如果我使用裝載機,我可以指定目標爲source:"qrc:///qrcname/filename"
。這是唯一的方法嗎?
我想要做的是將樣式分成不同的資源文件,而不是混亂我的主要「qml.qrc」。
所以我會
Button
{
style: MyButtonStyle{}
//...
}
在我的主QML
,並MyButtonStyle.qml
在不同的QRC文件。這是可能的,還是必須在同一個qrc文件中指定樣式?
這個答案沒有用也沒有告訴如何導入它。我嘗試了這個問題中提到的所有3種方式,但都沒有工作。在我盲目地繼續嘗試所有可能的可能性之前,我查看了文檔,沒有找到任何東西,這就是爲什麼發佈了這個問題。 – vsz
如果您的.qml文件位於資源中,則可以使用相對路徑('import「dirname」')導入其他資源文件夾。或者,您可以始終按照您在原始帖子中提到的方式傳遞完整路徑。 – jpnurmi
使用'QDirIterator它(「:/」,QDirIterator :: Subdirectories); while(it.hasNext())qDebug()it.next();'main()'中打印出應用程序中的所有資源。也許結構不是你想象的那樣。 – jpnurmi