QML: представление дизайна при использовании нескольких файлов .qrc - PullRequest
0 голосов
/ 22 января 2019

Когда я разделяю файлы QML на разные файлы .qrc (но в рамках одного проекта), режим разработки QtCreator, а также общая поддержка IDE для этих файлов) больше не будут работать (т. Е. Если импортируется файл QML из a.qrc файл, который находится в b.qrc, разрешение символов всех уровней IDE не работает).

Разрешение отлично работает во время выполнения (различные файлы ресурсов связаны с помощью RESOURCES += a.qrc b.qrc).

1 Ответ

0 голосов
/ 22 января 2019

Самый простой способ - импортировать ваши локальные определения QML, например:

import "../preferences"

В качестве альтернативы, вы также можете поместить несколько этих строк где-нибудь в проекте (и вызвать их из своей основной функции)

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.0 поверх ваших файлов QML.;для которого Qt написал учебник самостоятельно: http://doc.qt.io/qt-5/qtqml-tutorials-extending-qml-example.html

...