首页 > 解决方案 > QML:使用多个 .qrc 文件时的设计视图

问题描述

当我将 QML 文件拆分为不同.qrc的文件(但在同一个项目中)时,QtCreator 的设计模式以及对这些文件的一般 IDE 支持)将不再起作用(即,如果一个 QML 文件从a.qrc导入一个位于b.qrc所有 IDE 级别的文件符号解析失败)。

分辨率在运行时工作正常(不同的资源文件使用 链接RESOURCES += a.qrc b.qrc)。

标签: qtqmlqt-creator

解决方案


最简单的方法是导入本地 QML 定义,例如:

import "../preferences"

或者,您也可以在项目中的某个位置放置一堆这些行(并从您的 main 函数中调用它)

qmlRegisterType(QUrl("qrc:/a/NiceButton.qml"), "my.namespace", 1, 0, "NiceButton");

(假设你把东西放在a.qrc文件夹中a)。您可以将以下内容放在 QML 的顶部b.qrc

import my.namespace 1.0

但是,更复杂且可能更好的方法是编写允许您将import my.plugin.namespace 1.0QML 文件放在上面的插件;Qt 自己为此编写了一个教程:http: //doc.qt.io/qt-5/qtqml-tutorials-extending-qml-example.html


推荐阅读