Russian Qt Forum

Qt => Общие вопросы => Тема начата: alekseymenkov от Август 13, 2019, 05:50



Название: Передача Q_ENUM из Q_NAMESPACE в Q_INVOKABLE
Отправлено: alekseymenkov от Август 13, 2019, 05:50
Добрый день!
Столкнулся с проблемой, описанной тут (https://forum.qt.io/topic/87436/how-to-use-own-enum-with-q_invokable-and-namespace).
ENUM объявлен в Q_NAMESPACE. При попытке передать его в качестве аргумента Q_INVOKABLE-функции, появляется сообщение:
Код
C++ (Qt)
Error: Unknown method parameter type: agents::AgentResult
. Если ENUM передавать через сигнал, то в QML прилетают undefined параметры, причем все. Например, сигнал: signalResult(agents::AgentResult result, QObject* obj1, QObject* obj2) в QML прилетает как signalResult(undefined, undefined, undefined).


Namespace зарегистрирован:
Код
C++ (Qt)
qmlRegisterUncreatableMetaObject(agents::staticMetaObject, "AgentsNamespace", 1, 0, "AgentsNamespace", "");

В чем тут дело, помогите разобраться!


Название: Re: Передача Q_ENUM из Q_NAMESPACE в Q_INVOKABLE
Отправлено: qate от Август 13, 2019, 12:49
рабочий пример будет ?