2013-10-01 32 views
0

來源:http://qt-project.org/doc/qt-4.8/qtbinding.html#calling-functionsQMetaObject :: invokeMethod中的理解論據 - QtQuick

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::ConnectionTypetype, 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

回答

1

look again at the documentation也有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] 

所以調用者並不需要指定連接類型和/或關心的返回參數

+0

啊!他們使用了不同的重載函數。謝謝。 –

相關問題