Название: Как передать enum из namespace в QML? Отправлено: Alex Custov от Февраля 25, 2014, 14:12 Есть объявление enum внутри namespace, скажем такое:
Код
Как экспортировать этот enum в QML? Код объявления не мой, менять его почти 100% что не смогу. В QML должна быть возможность писать типа Код: console.log("R2: " + Object.R2); Название: Re: Как передать enum из namespace в QML? Отправлено: OKTA от Февраля 25, 2014, 16:11 Разве что только это http://qt-project.org/forums/viewthread/18529
Название: Re: Как передать enum из namespace в QML? Отправлено: Alex Custov от Февраля 25, 2014, 16:17 Разве что только это http://qt-project.org/forums/viewthread/18529 Там объявление enum-а помещается внутрь QObject класса, и используется Q_ENUMS. Первое практически невозможно, как я уже написал, а второе не работает с namespace. Название: Re: Как передать enum из namespace в QML? Отправлено: OKTA от Февраля 25, 2014, 16:18 Других вариантов не было найдено :-\
Название: Re: Как передать enum из namespace в QML? Отправлено: Old от Февраля 25, 2014, 16:22 Там объявление enum-а помещается внутрь QObject класса, и используется Q_ENUMS. Первое практически невозможно, как я уже написал, а второе не работает с namespace. А точно Q_ENUMS не работает с пространствами? Например, Q_DECLARE_METATYPE работает.Название: Re: Как передать enum из namespace в QML? Отправлено: Alex Custov от Февраля 25, 2014, 16:22 Других вариантов не было найдено :-\ Единственный вариант что я вижу - дублировать объявления всех энумов из С++ в JS коде. Матом ругаться не буду, уже нет сил. Название: Re: Как передать enum из namespace в QML? Отправлено: Alex Custov от Февраля 25, 2014, 16:25 А точно Q_ENUMS не работает с пространствами? Например, Q_DECLARE_METATYPE работает. Совершенно верно, второе работает, первое - нет. Название: Re: Как передать enum из namespace в QML? Отправлено: Old от Февраля 25, 2014, 16:49 Без помещения enum в наследника QObject (даже фиктивный для moc) все равно работать не будет, т.е. какое то редактирование все равно будет необходимо.
|