当我将QML文件拆分为不同的.qrc
文件(但在同一项目内)时,QtCreator的设计模式以及对这些文件的常规IDE支持将不再起作用(即,如果{{ 1}}导入a.qrc
中的文件,所有IDE级别的符号解析均无效。
分辨率在运行时很好用(使用b.qrc
链接了不同的资源文件)。
答案 0 :(得分:1)
最简单的方法是导入本地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