I try to pass Object from qml to c++ as a parameter of slot, is it possible to get in c++? In slot in c++ I have empty variable QVariant(QJSValue, ). I need to pass Object as a map to c++ (QMap<QString,QString>). Is it possible to pass an object this way?
Some.h
class Some : public QObject
{
Q_OBJECT
public slot:
Q_INVOKABLE void someSlot(QVariant variableToPass);
}
Some.cpp
void Some :: someSlot(QVariant variableToPass){
qDebug()<<"Object from qml"<< variableToPass; // QVariant(QJSValue, ) empty variable!!!!!!!!!!!!!!
qDebug()<<"variableToPass.canConvert<QJSValue>()"<<variableToPass.canConvert<QJSValue>();//true, but empty!!!
QJSValue jsValue = variableToPass.value<QJSValue>();
QMap<QString,QString> data = jsValue.toVariant().value<QMap<QString,QString>>();
}
some2.qml
Item {
Button {
onClicked: registeredInQmlVar.someSlot({"Login":"Cash","Password":"123"})//call slot and pass Object with two parameters
}
}