QML:使用多个 .qrc 文件时的设计视图
QML: design view when using multiple .qrc files
当我将 QML 文件拆分为不同的 .qrc
文件(但在同一个项目中)时,QtCreator 的设计模式以及对这些文件的一般 IDE 支持将不再有效(即如果来自 a.qrc
的 QML 文件导入 b.qrc
中的文件,所有 IDE 级别的符号解析都无法工作。
解析在运行时工作正常(不同的资源文件使用 RESOURCES += a.qrc b.qrc
链接)。
最简单的方法是导入本地 QML 定义,例如:
import "../preferences"
或者,您也可以将这些行放在项目的某处(并从您的主函数中调用)
qmlRegisterType(QUrl("qrc:/a/NiceButton.qml"), "my.namespace", 1, 0, "NiceButton");
(假设你把a.qrc
里的东西放到文件夹a
里)。您可以将以下内容放在 b.qrc
中的 QML 之上
import my.namespace 1.0
然而,更复杂但可能更好的方法是编写允许您将 import my.plugin.namespace 1.0
放在 QML 文件之上的插件; Qt 自己写了一个教程:http://doc.qt.io/qt-5/qtqml-tutorials-extending-qml-example.html
当我将 QML 文件拆分为不同的 .qrc
文件(但在同一个项目中)时,QtCreator 的设计模式以及对这些文件的一般 IDE 支持将不再有效(即如果来自 a.qrc
的 QML 文件导入 b.qrc
中的文件,所有 IDE 级别的符号解析都无法工作。
解析在运行时工作正常(不同的资源文件使用 RESOURCES += a.qrc b.qrc
链接)。
最简单的方法是导入本地 QML 定义,例如:
import "../preferences"
或者,您也可以将这些行放在项目的某处(并从您的主函数中调用)
qmlRegisterType(QUrl("qrc:/a/NiceButton.qml"), "my.namespace", 1, 0, "NiceButton");
(假设你把a.qrc
里的东西放到文件夹a
里)。您可以将以下内容放在 b.qrc
import my.namespace 1.0
然而,更复杂但可能更好的方法是编写允许您将 import my.plugin.namespace 1.0
放在 QML 文件之上的插件; Qt 自己写了一个教程:http://doc.qt.io/qt-5/qtqml-tutorials-extending-qml-example.html