Есть QJSEngine который крутит в себе некий код на жс. Внутри него есть некий QObject внутри которого некоторые Q_INVOKABLE функции возвращают указатель на другие объекты типа QObject(тут, я так понимаю, неявно создаётся прокси аля newQMetaObject). Внутри тех объектов, которые возвращаются есть enum-ы. Типа:
class MyMegaType : public QObject
{
Q_OBJECT
public:
enum SomeState {
OK = 0,
FAIL = 1
};
Q_ENUM(SomeState);
Q_INVOKABLE void test();
};
Из жс видно Q_INVOKABLE методы MyMegaType, но не видно того самого SomeState. В доках пишут, что newQMetaObject(которым неявно создаётся прокси на ссылку) должен енумы в проперти перекручивать для жс.
var a = root.someInvokableFuncReturnsMyMegaType(); // MyMegaType *
a.test(); // ok
a.SomeState.OK; // fail
a.OK; // fail
Как это сделать? В тырнетах кучи примеров для QML, но конкретно в JS они не работают.