[英]How to import QML singleton
我正在嘗試導入我的單例模塊,但一直沒有安裝“樣式”模塊
這是我的項目結構
Style.qml
pragma Singleton
import QtQuick 2.0
QtObject {
property color subsectionlabelColor: "white"
property color appSectionTitleColor: "white"
}
qmldir
singleton Style 1.0 Style.qml
Main.qml
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.3
import Style 1.0
Window {
我想將Style.qml保留在qrc文件之外,以便可以更輕松地對其進行更改。
請有人可以解釋發生了什么嗎?
謝謝
通常,如果您導入單身人士所在的目錄 ,它應該可以工作。
在Main.qml
,將import Style 1.0
替換為import "Style"
(或似乎是您從Main.qml
到包含Style.qml
的目錄的相對路徑。導入目錄應運行qmldir
腳本,該腳本允許單例踢。
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.3
import "Style" // relative path to the directory containing Style.qml
Window {
使用引擎的addImportPath API添加您的qtdir文件所在目錄的路徑。 請參閱示例https://doc.qt.io/qt-5/qtquickcontrols-flatstyle-example.html的 main.cpp文件
上述API可以在您的主要功能中用作:
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.addImportPath(":/imports"); /* Insert relative path to your import directory here */
engine.load(QUrl(QStringLiteral("qrc:/Main.qml")));
return app.exec();
}
需要添加導入路徑以解決錯誤“模塊未安裝”。 默認情況下,導入路徑為QT源目錄的導入路徑
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.