Экспорт констант в QMLC++

Программы на C++. Форум разработчиков
Anonymous
Экспорт констант в QML

Сообщение Anonymous »

все. Заранее прошу прощения за мой английский.
Может кто-нибудь мне помочь? Я не понимаю, почему это происходит и что я делаю не так.
У меня есть отдельный класс со статическими константами (на данный момент строковыми константами)

Код: Выделить всё

namespace constants {
Q_NAMESPACE

class SharedConstants : public QObject {
Q_OBJECT
Q_PROPERTY(QString Property MEMBER Property CONSTANT)
public:
static inline const QString Property{"MY_PROPERTY_TEXT"};
};

} // namespace constants
В main.cpp я открываю его для QML, используя

Код: Выделить всё

qmlRegisterUncreatableType(
"Constants", 1, 0, "SharedConstants", "SharedConstants class is not createable");
И когда я пытаюсь получить доступ к своему свойству в QML, используя

Код: Выделить всё

import Constants 1.0
...
console.info(SharedConstants.Property)
Я получаю неопределенный вывод.
Я предполагаю, что параметры статического класса не были каким-то образом определены в QML, но я не Не понимаю, почему.
Изначально я пытался просто предоставить константы QML, предполагая, что мне нужно использовать константы импорта. Но мне это не удалось, и я решил использовать класс как вспомогательный инструмент. Однако и здесь что-то у меня не работает. Пожалуйста помоги. Если вы знаете, как предоставлять константы из пространства имен в QML с помощью импорта, я также буду признателен.
Я использую Qt 5.15.2, стандарт C++17. .

Подробнее здесь: https://stackoverflow.com/questions/784 ... nts-to-qml

Вернуться в «C++»