@DeMON_L

Как сделать автодополнение в QML для объектов типа QtObject?

1) Например есть файл с дизайн-системой приложения с UI на qml:
file Design.qml

QtObject {
    id: designSystem

    property QtObject colors: QtObject {
        property color buttonColor: "#FF4F12"
        property color backgroundColor: "#00AAE7"
        property color tileColor: "#5DC600"
        ...
    }

    property QtObject size: QtObject {
    ....

    }
}


2) Регистрируем данный singleTon:

qmlRegisterSingletonType(QUrl("qrc:/DesignSystem.qml"), "app.design", 1, 0, "Design");


3) Где-то в другом коде использование этого компонента:
file Button.qml

import app.design 1.0

Rectangle {
    id: button

    color: Design.color.buttonColor    // Вопрос к данной строчке
}


Так вот вопрос: как сделать так чтобы редактор QtCreator-а авто-дополнял свойства компонента Design и color и и тд ?
Потому что на данный момент редактор видит только сам родительский компонент Design, все остальные свойства приходится прописывать вручную как в обычном блокноте
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 1
Zifix
@Zifix Куратор тега Qt
Barbatum
QtObject {
property QtObject colors: QtObject {

Вы как-то слишком сильно глубоко это всё упрятали. Сделали бы просто набор property в корневом объекте, и вызывали как Design.buttonColor — было бы автодополнение, код короче.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы