调用对象obj上的成员(信号或插槽名称)。如果可以调用该成员,则返回true。如果没有此类成员或参数不匹配,则返回false。
1.解决线程间资源竞争
QMetaObject::invokeMethod(this, [&]{
//业务代码
}
2.在c++调用qml对象的function, 前提需要在c++拿到qml对象的指针
//c++:
QMetaObject::invokeMethod(m_ptem, "testFunc",
Q_RETURN_ARG(QVariant, returnedValue), //返回值
Q_ARG(QVariant, nPara)); //参数
//qml:
function changeSkin(nPara)
{
//业务代码
return 1;
}