I have a Qt function:
void MainWindow::button_clicked(Qstring a, Qstring b, Qstring c, Qstring d)
I collect data from QML and I want to pass data to this function which is in Qt. So I know I need to use Q_INVOKABLE but don’t know really how to use it.
And one more thing is it possible to invoke some other function when invoke this certain above.
For example: I invoke the above function but in her body I invoke refresh() function. Is this possible?
To be able to call a method from QML, you must either mark it with Q_INVOKABLE or as a slot. I prefer Q_INVOKABLE if it’s not meant to be used as a slot, as its more minimal.
The implementation of buttonClicked() can contain any C++ code.
To make the main window instance accessible from QML, you must register it, e.g.
Once registered, you can call buttonClicked from QML: