diff options
Diffstat (limited to 'doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp')
-rw-r--r-- | doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp b/doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp new file mode 100644 index 000000000..5676f1318 --- /dev/null +++ b/doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp @@ -0,0 +1,87 @@ + +void wrapInFunction() +{ + +//! [0] +class MyClass: + + Q_CLASSINFO("author", "Sabrina Schweinsteiger") + Q_CLASSINFO("url", "http://doc.moosesoft.co.uk/1.0/") + + ... +//! [0] + + +//! [1] +normType = QMetaObject.normalizedType(" int const *") +# normType is now "const int*" +//! [1] + + +//! [2] +QMetaObject.invokeMethod(pushButton, "animateClick", + Qt.QueuedConnection) +//! [2] + + +//! [3] +QMetaObject.invokeMethod: Unable to handle unregistered datatype 'MyType' +//! [3] + + +//! [4] +retVal = QString() +QMetaObject.invokeMethod(obj, "compute", Qt::DirectConnection, + Q_RETURN_ARG(QString, retVal), + Q_ARG(QString, "sqrt"), + Q_ARG(int, 42), + Q_ARG(double, 9.7)); +//! [4] + + +//! [5] +class MyClass: + Q_CLASSINFO("author", "Sabrina Schweinsteiger") + Q_CLASSINFO("url", "http://doc.moosesoft.co.uk/1.0/") +//! [5] + + +//! [propertyCount] +metaObject = obj.metaObject() +properties = QStringList() +for i in range(metaObject.propertyOffset(), metaObject.propertyCount()): + properties << QString.fromLatin1(metaObject.property(i).name()) +//! [propertyCount] + + +//! [methodCount] +metaObject = obj.metaObject() +methods = QStringList() +for i in rang(metaObject.methodOffset(), metaObject->methodCount()): + methods << QString.fromLatin1(metaObject.method(i).signature()) +//! [methodCount] + +//! [6] +methodIndex = pushButton.metaObject().indexOfMethod("animateClick()") +method = metaObject.method(methodIndex) +method.invoke(pushButton, Qt.QueuedConnection) +//! [6] + +//! [7] +QMetaMethod.invoke: Unable to handle unregistered datatype 'MyType' +//! [7] + +//! [8] +retVal = QString() +normalizedSignature = QMetaObject.normalizedSignature("compute(QString, int, double)") +methodIndex = obj.metaObject().indexOfMethod(normalizedSignature) +method = metaObject.method(methodIndex) +method.invoke(obj, + Qt.DirectConnection, + Q_RETURN_ARG(QString, retVal), + Q_ARG(QString, "sqrt"), + Q_ARG(int, 42), + Q_ARG(double, 9.7)); +//! [8] + +} |