diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2022-08-22 17:57:25 -0300 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2022-09-01 21:29:04 -0300 |
commit | 84401ae68cc9a0292ef3762f780dea697d98ef0c (patch) | |
tree | a84fe579a638f1d3c12ae239846391499a0a9c9d /src/corelib/doc/snippets/code | |
parent | 0380dd50519e4e1eb5ba5e8f54e858e1d84a1d2f (diff) |
QMetaObject/Doc: document the variadic invoke{,Method} and newInstance
Change-Id: Ic6547f8247454b47baa8fffd170dc646d4f73152
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
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)"); |