diff options
Diffstat (limited to 'src/corelib/doc/snippets/code')
-rw-r--r-- | src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp b/src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp index de291667ea..ec4646c520 100644 --- a/src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp +++ b/src/corelib/doc/snippets/code/src_corelib_kernel_qmetaobject.cpp @@ -34,6 +34,21 @@ QMetaObject::invokeMethod(thread, "quit", QMetaObject::invokeMethod: Unable to handle unregistered datatype 'MyType' //! [3] +//! [invokemethod-no-macro] +QString retVal; +QMetaObject::invokeMethod(obj, "compute", Qt::DirectConnection, + qReturnArg(retVal), + QString("sqrt"), 42, 9.7); +//! [invokemethod-no-macro] + + +//! [invokemethod-no-macro-other-types] +QString retVal; +QMetaObject::invokeMethod(obj, "compute", Qt::DirectConnection, + qReturnArg(retVal), + QStringView("sqrt"), qsizetype(42), 9.7f); +//! [invokemethod-no-macro-other-types] + //! [4] QString retVal; @@ -83,6 +98,24 @@ method.invoke(pushButton, Qt::QueuedConnection); QMetaMethod::invoke: Unable to handle unregistered datatype 'MyType' //! [7] +//! [invoke-no-macro] +QString retVal; +QByteArray normalizedSignature = QMetaObject::normalizedSignature("compute(QString, int, double)"); +int methodIndex = obj->metaObject()->indexOfMethod(normalizedSignature); +QMetaMethod method = obj->metaObject()->method(methodIndex); +method.invoke(obj, Qt::DirectConnection, qReturnArg(retVal), + QString("sqrt"), 42, 9.7); +//! [invoke-no-macro] + +//! [invoke-no-macro-other-types] +QString retVal; +QByteArray normalizedSignature = QMetaObject::normalizedSignature("compute(QByteArray, qint64, long double)"); +int methodIndex = obj->metaObject()->indexOfMethod(normalizedSignature); +QMetaMethod method = obj->metaObject()->method(methodIndex); +method.invoke(obj, Qt::DirectConnection, qReturnArg(retVal), + QByteArray("sqrt"), qint64(42), 9.7L); +//! [invoke-no-macro-other-types] + //! [8] QString retVal; QByteArray normalizedSignature = QMetaObject::normalizedSignature("compute(QString, int, double)"); |