我對Qt QML中的模塊感到困惑。我已閱讀所有文檔,但沒有說明一些基本的想法。Qt5 QML模塊未安裝
據我所知,我可以把一堆QML文件放到一個目錄中,並添加一個qmldir文件來描述一個已識別的模塊。當我這樣做並調整QML_IMPORT_PATH時,QtCreator很高興,並停止強調導入ModuleName 1.0行。
所以創作者很高興,但它不起作用。我沒有安裝模塊。 我的問題是:
- 「安裝」是什麼意思。我有文件目錄,但我沒有「安裝」它們在任何地方。
- 我應該建立/編譯模塊,以使DLL/.so?
- 模塊QML文件進入主應用程序的資源,否則它們在哪裏被發現?
- 我的main.qml文件是應用程序資源的一部分,應用程序如何在運行時找到模塊的資源。
對不起,對於所有這些問題,但這些模塊的基礎知識尚不清楚。我不明白,「模塊」只是文件的共享還是編譯單元。
感謝您的任何幫助。
感謝解釋,但我仍然主要是在黑暗中。我發現如果將'addImportPath'設置爲* absolute *路徑,它就可以工作。但我希望引用的QML是本地項目。相對路徑失敗,因爲它們不能從生成的構建目錄中運行。 我也想出瞭如何將模塊+其資源編譯爲DLL。但我不知道如何加載這個DLL。安排它在導入路徑不起作用,因爲我認爲該DLL需要qmldir。該DLL將註冊其中的類型,但這將涉及首先加載它。種雞和雞蛋? –
只需提供DLL插件的qmldir,它大約有3行,將qmldir放在插件旁邊,將其全部放在具有正確名稱的文件夾中,如我在答案中所述,並將該文件夾放在可執行文件的旁邊。這應該工作。你嘗試過嗎? – rightaway717
謝謝。經過漫長的道路和大量搜索,這有助於很多! – Malachi