来自:http://qt-project.org/doc/qt-4.8/qtbinding.html#calling-functions
QMetaObject :: invokeMethod (object, "myQmlFunction", Q_RETURN_ARG(QVariant, returnedValue), Q_ARG(QVariant, msg));
但是,函数参数说:
来自:http://qt-project.org/doc/qt-4.8/qmetaobject.html#invokeMethod
bool QMetaObject::invokeMethod ( QObject * obj, const char * member, Qt::ConnectionType type, QGenericReturnArgument ret, QGenericArgument val0 = QGenericArgument( 0 ), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument() ) [static]
因此,这个函数的第三个参数是::
Qt::ConnectionType
Q_RETURN_ARG (QVariant, returnedValue) 如何与 Qt::ConnectionType__相对应?
发布于 2013-10-01 08:08:33
再看一遍文档有多个invokeMethod重载,其中一个用于:
bool QMetaObject::invokeMethod ( QObject * obj, const char * member,
QGenericReturnArgument ret,
QGenericArgument val0 = QGenericArgument( 0 ),
QGenericArgument val1 = QGenericArgument(),
QGenericArgument val2 = QGenericArgument(),
QGenericArgument val3 = QGenericArgument(),
QGenericArgument val4 = QGenericArgument(),
QGenericArgument val5 = QGenericArgument(),
QGenericArgument val6 = QGenericArgument(),
QGenericArgument val7 = QGenericArgument(),
QGenericArgument val8 = QGenericArgument(),
QGenericArgument val9 = QGenericArgument() ) [static]因此调用方不需要指定连接类型和/或关心返回参数
https://stackoverflow.com/questions/19111009
复制相似问题