我正在將兩個 QML\Qt 專案合并到一個新專案中,但我遇到了 *.qml 檔案的問題。在原始專案中,我有一個帶有計時器、屬性的 main.qml,...和一個用于調出自定義 *.qml 的加載器,總結一下:2 個檔案夾(QML_10 和 QML_15)、2 個 main.qml 和其他幾個 qml檔案。我會有一個單一的專案,它能夠根據 arcv[] C 引數加載一個主程式或其他程式。在我的 C 代碼中:
QUrl url(QStringLiteral("qrc:/main.qml"));
if (atoi(argv[1]) == ROLE1)
url.setUrl(QString("/QML_10/main.qml"))
else if (atoi(argv[1]) == ROLE2)
url.setUrl(QString("/QML_15/main.qml"))
else
printf("Error\n")
當我運行應用程式時,我能夠檢測到正確的角色,但 setYrl 無法正常作業并出現錯誤:
file:///QML_1/main.qml: 沒有那個檔案或目錄
Qt專案結構是:

uj5u.com熱心網友回復:
用setUrl你替換 QUrl 的完整內容,導致一個沒有方案的 URL,file:假定默認方案。你應該放在qrc:前面,或者使用setPath.
或者你可以在setScheme("qrc")之后使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/533956.html
標籤:C qtqml装载机
上一篇:WordPress代碼的干擾
下一篇:保持所有視窗狀態的QML多視窗
