Может кто-нибудь мне помочь? Я не понимаю, почему это происходит и что я делаю не так.
У меня есть отдельный класс со статическими константами (на данный момент строковыми константами)
Код: Выделить всё
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
Код: Выделить всё
qmlRegisterUncreatableType(
"Constants", 1, 0, "SharedConstants", "SharedConstants class is not createable");
Код: Выделить всё
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
Мобильная версия