Fastest way to interact with QML
-
Hi everyone, I'm having a question regarding interaction between C++ and QML.
I've a set of button with different click behaviour (one is pulse, one have to switch state, one have to follow press-release action and so on...), and I'm thinking at the best way to set this particular behaviour.
I know the behaviour on the C++ side of the object, so my question is related to the fasted way (or the best memory-side one) to send the behaviour to the qml-object from c++:
-
Create a Q_INVOKABLE method that returns the behaviour and then check it everytime I need to do some action on the button (like on the onRelease function)
-
Sends signal with the expected behaviour from C++ to QML and then elaborate it once received.
I've to say that my button isn't on the first layer of my qml stack, they are on the second+ layer, so the signal have to pass thru one qml level before reach the elements.
Any in-depth explanation on how this works?
Thank you. -
-
You could make the behaviour a property on the c++ side, which uses a string. The string could then be used to call a method.
@
// qml
Buttton {
onPressed: root'handle_' + nativeObject.behaviour
}
@if behaviour would be 'flash' it would call root.handle_flash() JS function.