该方法的参数顺序
先指定连接类型后,然后才是指定 返回值(可选),再指定参数
QString retVal;
QMetaObject::invokeMethod(obj,
"compute",
Qt::DirectConnection,
Q_RETURN_ARG(QString, retVal),
Q_ARG(QString, "sqrt"),
Q_ARG(int, 42),
Q_ARG(double, 9.7));
还有被调用的方法的参数如果是自定义类型或者指针则需要注册
qRegisterMetaType<MyClass>("MyClass");
qRegisterMetaType<MyClass*>("MyClass*");
否则无法识别