Экспорт констант в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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