Russian Qt Forum

Qt => Qt Quick => Тема начата: kvrus от Март 19, 2012, 07:31



Название: как из C++ вызвать функцию QML
Отправлено: kvrus от Март 19, 2012, 07:31
Есть QML файл и в нем некоторая функция для изменения свойств элементов.
Есть С++ класс , который подгружает этот QML и отображает его. Теперь нужно
из С++ вызвать функцию QML с параметрами (если нельзя вызвать QML функцию, то может можно
вызвать JS?).


Название: Re: как из C++ вызвать функцию QML
Отправлено: ecspertiza от Март 19, 2012, 08:47
Вызвать прям qml ф-цию вроде никак нельзя, зато можно послать сигнал и отловить его в qml ну и стало быть по сигналу вызвать нужную ф-цию.


Название: Re: как из C++ вызвать функцию QML
Отправлено: Patrin Andrey от Март 19, 2012, 09:39
http://qt-project.org/doc/qt-4.8/qmetaobject.html#invokeMethod
Вызывается примерно так:
QMetaObject::invokeMethod(SomeQDeclarativeView.rootObject(), "funcName",      Q_ARG(QVariant, Param));


Название: Re: как из C++ вызвать функцию QML
Отправлено: kvrus от Март 19, 2012, 11:48
Вызвать прям qml ф-цию вроде никак нельзя, зато можно послать сигнал и отловить его в qml ну и стало быть по сигналу вызвать нужную ф-цию.
Спасибо. Через слоты и сигналы заработало