QMetaObject Struct

Die Klasse QMetaObject enthält Meta-Informationen über Qt-Objekte. Mehr...

Kopfzeile: #include <QMetaObject>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Öffentliche Typen

class Connection

Öffentliche Funktionen

QMetaClassInfo classInfo(int index) const
int classInfoCount() const
int classInfoOffset() const
const char *className() const
QMetaMethod constructor(int index) const
int constructorCount() const
QMetaEnum enumerator(int index) const
int enumeratorCount() const
int enumeratorOffset() const
int indexOfClassInfo(const char *name) const
int indexOfConstructor(const char *constructor) const
int indexOfEnumerator(const char *name) const
int indexOfMethod(const char *method) const
int indexOfProperty(const char *name) const
int indexOfSignal(const char *signal) const
int indexOfSlot(const char *slot) const
bool inherits(const QMetaObject *metaObject) const
(since 6.2) QMetaType metaType() const
QMetaMethod method(int index) const
int methodCount() const
int methodOffset() const
(since 6.5) QObject *newInstance(Args &&... arguments) const
QMetaProperty property(int index) const
int propertyCount() const
int propertyOffset() const
const QMetaObject *superClass() const
QMetaProperty userProperty() const

Statische öffentliche Mitglieder

bool checkConnectArgs(const char *signal, const char *method)
bool checkConnectArgs(const QMetaMethod &signal, const QMetaMethod &method)
void connectSlotsByName(QObject *object)
(since 6.7) bool invokeMethod(QObject *context, Functor &&function, Args &&... arguments)
bool invokeMethod(QObject *context, Functor &&function, FunctorReturnType *ret)
(since 6.5) bool invokeMethod(QObject *obj, const char *member, Args &&... args)
(since 6.7) bool invokeMethod(QObject *context, Functor &&function, QTemplatedMetaMethodReturnArgument<FunctorReturnType> ret, Args &&... arguments)
(since 6.7) bool invokeMethod(QObject *context, Functor &&function, Qt::ConnectionType type, Args &&... arguments)
bool invokeMethod(QObject *context, Functor &&function, Qt::ConnectionType type = Qt::AutoConnection, FunctorReturnType *ret = nullptr)
(since 6.5) bool invokeMethod(QObject *obj, const char *member, QTemplatedMetaMethodReturnArgument<ReturnArg> ret, Args &&... args)
(since 6.5) bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType type, Args &&... args)
(since 6.7) bool invokeMethod(QObject *context, Functor &&function, Qt::ConnectionType type, QTemplatedMetaMethodReturnArgument<FunctorReturnType> ret, Args &&... arguments)
(since 6.5) bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType type, QTemplatedMetaMethodReturnArgument<ReturnArg> ret, Args &&... args)
QByteArray normalizedSignature(const char *method)
QByteArray normalizedType(const char *type)

Makros

QMetaMethodArgument Q_ARG(Type, const Type &value)
QMetaMethodReturnArgument Q_RETURN_ARG(Type, Type &value)

Detaillierte Beschreibung

Das Qt Meta-Object System in Qt ist verantwortlich für den Kommunikationsmechanismus zwischen Signalen und Slots, Laufzeit-Typinformationen und das Qt Eigenschaftssystem. Eine einzelne QMetaObject-Instanz wird für jede QObject Unterklasse erstellt, die in einer Anwendung verwendet wird, und diese Instanz speichert alle Meta-Informationen für die QObject Unterklasse. Dieses Objekt ist als QObject::metaObject() verfügbar.

Diese Klasse wird normalerweise nicht für die Anwendungsprogrammierung benötigt, aber sie ist nützlich, wenn Sie Meta-Anwendungen schreiben, wie z. B. Skripting-Engines oder GUI-Builder.

Die Funktionen, die Sie wahrscheinlich am nützlichsten finden werden, sind die folgenden:

Die Indexfunktionen indexOfConstructor(), indexOfMethod(), indexOfEnumerator() und indexOfProperty() ordnen die Namen von Konstruktoren, Mitgliedsfunktionen, Aufzählungszeichen oder Eigenschaften den Indizes im Meta-Objekt zu. Qt verwendet zum Beispiel indexOfMethod() intern, wenn Sie ein Signal mit einem Slot verbinden.

Klassen können auch eine Liste von Name-Wert-Paaren mit zusätzlichen Klasseninformationen haben, die in QMetaClassInfo Objekten gespeichert sind. Die Anzahl der Paare wird von classInfoCount() zurückgegeben, einzelne Paare werden von classInfo() zurückgegeben, und Sie können mit indexOfClassInfo() nach Paaren suchen.

Hinweis: Operationen, die das Metaobjektsystem verwenden, sind im Allgemeinen thread-sicher, da QMetaObjects in der Regel statische, schreibgeschützte Instanzen sind, die zur Kompilierungszeit erzeugt werden. Wenn Metaobjekte jedoch von der Anwendung dynamisch verändert werden (z. B. bei Verwendung von QQmlPropertyMap), muss die Anwendung den Zugriff auf das jeweilige Metaobjekt explizit synchronisieren.

Siehe auch QMetaClassInfo, QMetaEnum, QMetaMethod, QMetaProperty, QMetaType, und Meta-Objektsystem.

Dokumentation der Mitgliedsfunktionen

[static, since 6.5] template <typename... Args> bool QMetaObject::invokeMethod(QObject *obj, const char *member, Args &&... args)

[static, since 6.5] template <typename ReturnArg, typename... Args> bool QMetaObject::invokeMethod(QObject *obj, const char *member, QTemplatedMetaMethodReturnArgument<ReturnArg> ret, Args &&... args)

[static, since 6.5] template <typename... Args> bool QMetaObject::invokeMethod(QObject *obj, const char *member, Qt::ConnectionType type, Args &&... args)

[static, since 6.5] template <typename ReturnArg, typename... Args> bool QMetaObject::invokeMethod(QObject *obj, const char *member, Qt::ConnectionType type, QTemplatedMetaMethodReturnArgument<ReturnArg> ret, Args &&... args)

Ruft den member (ein Signal oder einen Steckplatznamen) auf dem Objekt obj auf. Gibt true zurück, wenn das Mitglied aufgerufen werden konnte. Gibt false zurück, wenn es kein solches Mitglied gibt oder die Parameter nicht übereinstimmen.

Bei den Überladungen mit einem QTemplatedMetaMethodReturnArgument-Parameter wird der Rückgabewert des member Funktionsaufrufs in ret abgelegt. Bei den Überladungen ohne ein solches Mitglied wird der Rückgabewert der aufgerufenen Funktion (falls vorhanden) verworfen. QTemplatedMetaMethodReturnArgument ist ein interner Typ, den Sie nicht direkt verwenden sollten. Verwenden Sie stattdessen die Funktion qReturnArg().

Die Überladungen mit einem Qt::ConnectionType type Parameter erlauben die explizite Auswahl, ob der Aufruf synchron sein soll oder nicht:

  • Wenn type gleich Qt::DirectConnection ist, wird das Element sofort im aktuellen Thread aufgerufen.
  • Wenn type Qt::QueuedConnection ist, wird ein QEvent gesendet und das Mitglied wird aufgerufen, sobald die Anwendung in die Ereignisschleife in dem Thread eintritt, in dem obj erstellt oder verschoben wurde.
  • Wenn type Qt::BlockingQueuedConnection ist, wird die Methode auf die gleiche Weise wie bei Qt::QueuedConnection aufgerufen, mit der Ausnahme, dass der aktuelle Thread blockiert wird, bis das Ereignis geliefert wird. Die Verwendung dieses Verbindungstyps für die Kommunikation zwischen Objekten im selben Thread führt zu Deadlocks.
  • Wenn type Qt::AutoConnection ist, wird das Mitglied synchron aufgerufen, wenn obj im gleichen Thread wie der Aufrufer lebt; andernfalls wird das Mitglied asynchron aufgerufen. Dies ist das Verhalten der Überladungen, die den Parameter type nicht haben.

Sie müssen nur den Namen des Signals oder Slots an diese Funktion übergeben, nicht die gesamte Signatur. Um beispielsweise den Slot quit() asynchron auf einem QThread aufzurufen, verwenden Sie den folgenden Code:

QMetaObject::invokeMethod(thread, "quit",
                          Qt::QueuedConnection);

Bei asynchronen Methodenaufrufen müssen die Parameter kopierbare Typen sein, da Qt die Argumente kopieren muss, um sie hinter den Kulissen in einem Ereignis zu speichern. Seit Qt 6.5 registriert diese Funktion automatisch die verwendeten Typen; als Nebeneffekt ist es jedoch nicht möglich, Aufrufe mit Typen durchzuführen, die nur vorwärts deklariert sind. Darüber hinaus ist es auch nicht möglich, asynchrone Aufrufe zu machen, die Referenzen auf nicht-konst-qualifizierte Typen als Parameter verwenden.

Der synchrone Aufruf des compute(QString, int, double) Slots auf ein beliebiges Objekt obj ruft dessen Rückgabewert ab:

QString retVal;
QMetaObject::invokeMethod(obj, "compute", Qt::DirectConnection,
                         qReturnArg(retVal),
                         QString("sqrt"), 42, 9.7);

Wenn der "compute"-Slot nicht genau einen QString, einen int und einen double in der angegebenen Reihenfolge annimmt, schlägt der Aufruf fehl. Beachten Sie, dass der Typ des QString explizit angegeben werden musste, da das Zeichenliteral nicht genau der richtige Typ für die Übereinstimmung ist. Wenn die Methode stattdessen ein QStringView, ein qsizetype und ein float annehmen würde, müsste der Aufruf wie folgt geschrieben werden:

QString retVal;
QMetaObject::invokeMethod(obj, "compute", Qt::DirectConnection,
                         qReturnArg(retVal),
                         QStringView("sqrt"), qsizetype(42), 9.7f);

Derselbe Aufruf kann mit den Makros Q_ARG() und Q_RETURN_ARG() ausgeführt werden, wie in:

QString retVal;
QMetaObject::invokeMethod(obj, "compute", Qt::DirectConnection,
                          Q_RETURN_ARG(QString, retVal),
                          Q_ARG(QString, "sqrt"),
                          Q_ARG(int, 42),
                          Q_ARG(double, 9.7));

Die Makros werden für die Kompatibilität mit Qt 6.4 und früheren Versionen beibehalten und können frei mit Parametern gemischt werden, die das Makro nicht verwenden. Sie können in seltenen Situationen notwendig sein, wenn eine Methode aufgerufen wird, die einen typedef to forward-declared Typ als Parameter oder Rückgabetyp verwendet.

Hinweis: Diese Funktion ist thread-sicher.

Diese Funktion wurde in Qt 6.5 eingeführt.

Siehe auch Q_ARG(), Q_RETURN_ARG(), und QMetaMethod::invoke().

[static] template <typename Functor, typename FunctorReturnType> bool QMetaObject::invokeMethod(QObject *context, Functor &&function, FunctorReturnType *ret)

[static] template <typename Functor, typename FunctorReturnType> bool QMetaObject::invokeMethod(QObject *context, Functor &&function, Qt::ConnectionType type = Qt::AutoConnection, FunctorReturnType *ret = nullptr)

Ruft die Funktion function in der Ereignisschleife von context auf. function kann ein Funktor oder ein Zeiger auf eine Mitgliedsfunktion sein. Gibt true zurück, wenn die Funktion aufgerufen werden konnte. Gibt false zurück, wenn es keine solche Funktion gibt oder die Parameter nicht übereinstimmen. Der Rückgabewert des Funktionsaufrufs wird in ret abgelegt.

Wenn type gesetzt ist, wird die Funktion mit diesem Verbindungstyp aufgerufen. Andernfalls wird Qt::AutoConnection verwendet.

Hinweis: Diese Funktion ist thread-sicher.

[static, since 6.7] template <typename Functor, typename... Args> bool QMetaObject::invokeMethod(QObject *context, Functor &&function, Args &&... arguments)

[static, since 6.7] template <typename Functor, typename FunctorReturnType, typename... Args> bool QMetaObject::invokeMethod(QObject *context, Functor &&function, QTemplatedMetaMethodReturnArgument<FunctorReturnType> ret, Args &&... arguments)

[static, since 6.7] template <typename Functor, typename... Args> bool QMetaObject::invokeMethod(QObject *context, Functor &&function, Qt::ConnectionType type, Args &&... arguments)

[static, since 6.7] template <typename Functor, typename FunctorReturnType, typename... Args> bool QMetaObject::invokeMethod(QObject *context, Functor &&function, Qt::ConnectionType type, QTemplatedMetaMethodReturnArgument<FunctorReturnType> ret, Args &&... arguments)

Ruft die function mit arguments in der Ereignisschleife von context auf. function kann ein Funktor oder ein Zeiger auf eine Mitgliedsfunktion sein. Gibt true zurück, wenn die Funktion aufgerufen werden konnte. Der Rückgabewert des Funktionsaufrufs wird in ret abgelegt. Das für das Argument ret verwendete Objekt sollte durch Übergabe Ihres Objekts an qReturnArg() erhalten werden. Zum Beispiel:

MyClass *obj = ...;
int result = 0;
QMetaObject::invokeMethod(obj, &MyClass::myMethod, qReturnArg(result), parameter);

Wenn type gesetzt ist, dann wird die Funktion unter Verwendung dieses Verbindungstyps aufgerufen. Andernfalls wird Qt::AutoConnection verwendet.

Hinweis: Diese Funktion ist thread-sicher.

Diese Funktion wurde in Qt 6.7 eingeführt.

[static] bool QMetaObject::checkConnectArgs(const char *signal, const char *method)

Gibt true zurück, wenn die Argumente signal und method kompatibel sind; andernfalls wird false zurückgegeben.

Es wird erwartet, dass sowohl signal als auch method normalisiert sind.

Siehe auch normalizedSignature().

[static] bool QMetaObject::checkConnectArgs(const QMetaMethod &signal, const QMetaMethod &method)

Dies ist eine überladene Funktion.

Gibt true zurück, wenn die Argumente signal und method kompatibel sind; andernfalls gibt sie false zurück.

QMetaClassInfo QMetaObject::classInfo(int index) const

Gibt die Metadaten für das Element der Klasseninformation mit der angegebenen index zurück.

Beispiel:

class MyClass : public QObject
{
    Q_OBJECT
    Q_CLASSINFO("author", "Sabrina Schweinsteiger")
    Q_CLASSINFO("url", "http://doc.moosesoft.co.uk/1.0/")

public:
    ...
};

Siehe auch classInfoCount(), classInfoOffset(), und indexOfClassInfo().

int QMetaObject::classInfoCount() const

Gibt die Anzahl der Elemente der Klasseninformationen in dieser Klasse zurück.

Siehe auch classInfo(), classInfoOffset(), und indexOfClassInfo().

int QMetaObject::classInfoOffset() const

Gibt den Klasseninformations-Offset für diese Klasse zurück, d. h. die Indexposition des ersten Klasseninformationseintrags dieser Klasse.

Wenn die Klasse keine Superklassen mit Klasseninformationen hat, ist der Offset 0; andernfalls ist der Offset die Summe aller Klasseninformationen in den Superklassen der Klasse.

Siehe auch classInfo(), classInfoCount(), und indexOfClassInfo().

const char *QMetaObject::className() const

Gibt den Klassennamen zurück.

Siehe auch superClass().

[static] void QMetaObject::connectSlotsByName(QObject *object)

Sucht rekursiv nach allen Unterobjekten des gegebenen object und verbindet passende Signale von ihnen mit Slots von object, die der folgenden Form folgen:

void on_<object name>_<signal name>(<signal parameters>);

Nehmen wir an, unser Objekt hat ein Kindobjekt vom Typ QPushButton mit dem object name button1 . Der Slot, der das Signal der Schaltfläche clicked() abfängt, wäre dann der folgende:

void on_button1_clicked();

Wenn object selbst einen richtig gesetzten Objektnamen hat, werden seine eigenen Signale auch mit den entsprechenden Slots verbunden.

Siehe auch QObject::setObjectName().

QMetaMethod QMetaObject::constructor(int index) const

Gibt die Metadaten für den Konstruktor mit der angegebenen index zurück.

Siehe auch constructorCount() und newInstance().

int QMetaObject::constructorCount() const

Gibt die Anzahl der Konstruktoren in dieser Klasse zurück.

Siehe auch constructor() und indexOfConstructor().

QMetaEnum QMetaObject::enumerator(int index) const

Gibt die Metadaten für den Enumerator mit der angegebenen index zurück.

Siehe auch enumeratorCount(), enumeratorOffset(), und indexOfEnumerator().

int QMetaObject::enumeratorCount() const

Gibt die Anzahl der Aufzählungszeichen in dieser Klasse zurück.

Siehe auch enumerator(), enumeratorOffset(), und indexOfEnumerator().

int QMetaObject::enumeratorOffset() const

Gibt den Zähler-Offset für diese Klasse zurück, d. h. die Indexposition des ersten Zählers dieser Klasse.

Wenn die Klasse keine Superklassen mit Aufzählungszeichen hat, ist der Offset 0; andernfalls ist der Offset die Summe aller Aufzählungszeichen in den Superklassen der Klasse.

Siehe auch enumerator(), enumeratorCount(), und indexOfEnumerator().

int QMetaObject::indexOfClassInfo(const char *name) const

Findet das Klasseninformationsobjekt name und gibt dessen Index zurück; andernfalls wird -1 zurückgegeben.

Siehe auch classInfo(), classInfoCount(), und classInfoOffset().

int QMetaObject::indexOfConstructor(const char *constructor) const

Findet constructor und gibt seinen Index zurück; andernfalls wird -1 zurückgegeben.

Beachten Sie, dass constructor in normalisierter Form vorliegen muss, wie von normalizedSignature() zurückgegeben.

Siehe auch constructor(), constructorCount(), und normalizedSignature().

int QMetaObject::indexOfEnumerator(const char *name) const

Findet den Enumerator name und gibt seinen Index zurück; andernfalls wird -1 zurückgegeben.

Siehe auch enumerator(), enumeratorCount(), und enumeratorOffset().

int QMetaObject::indexOfMethod(const char *method) const

Findet method und gibt seinen Index zurück; andernfalls wird -1 zurückgegeben.

Beachten Sie, dass method in normalisierter Form vorliegen muss, wie von normalizedSignature() zurückgegeben.

Siehe auch method(), methodCount(), methodOffset(), und normalizedSignature().

int QMetaObject::indexOfProperty(const char *name) const

Findet die Eigenschaft name und gibt ihren Index zurück; andernfalls wird -1 zurückgegeben.

Siehe auch property(), propertyCount(), und propertyOffset().

int QMetaObject::indexOfSignal(const char *signal) const

Findet signal und gibt seinen Index zurück; andernfalls wird -1 zurückgegeben.

Dies ist dasselbe wie indexOfMethod(), mit dem Unterschied, dass -1 zurückgegeben wird, wenn die Methode existiert, aber kein Signal ist.

Beachten Sie, dass signal in normalisierter Form vorliegen muss, wie sie von normalizedSignature() zurückgegeben wird.

Siehe auch indexOfMethod(), normalizedSignature(), method(), methodCount(), und methodOffset().

int QMetaObject::indexOfSlot(const char *slot) const

Findet slot und gibt seinen Index zurück; andernfalls wird -1 zurückgegeben.

Dies ist dasselbe wie indexOfMethod(), außer dass es -1 zurückgibt, wenn die Methode existiert, aber kein Slot ist.

Siehe auch indexOfMethod(), method(), methodCount(), und methodOffset().

[noexcept] bool QMetaObject::inherits(const QMetaObject *metaObject) const

Gibt true zurück, wenn die durch diese QMetaObject beschriebene Klasse den durch metaObject beschriebenen Typ erbt; andernfalls wird false zurückgegeben.

Es wird davon ausgegangen, dass ein Typ sich selbst vererbt.

[since 6.2] QMetaType QMetaObject::metaType() const

Gibt den Metatyp zurück, der diesem Metaobjekt entspricht. Wenn das Metaobjekt aus einem Namespace stammt, wird ein ungültiger Metatyp zurückgegeben.

Diese Funktion wurde in Qt 6.2 eingeführt.

QMetaMethod QMetaObject::method(int index) const

Gibt die Metadaten für die Methode mit dem angegebenen index zurück.

Siehe auch methodCount(), methodOffset(), und indexOfMethod().

int QMetaObject::methodCount() const

Gibt die Anzahl der Methoden in dieser Klasse zurück, einschließlich der Anzahl der Methoden, die von jeder Basisklasse bereitgestellt werden. Dazu gehören Signale und Slots ebenso wie normale Mitgliedsfunktionen.

Verwenden Sie Code wie den folgenden, um eine QStringList zu erhalten, die die spezifischen Methoden einer bestimmten Klasse enthält:

const QMetaObject* metaObject = obj->metaObject();
QStringList methods;
for(int i = metaObject->methodOffset(); i < metaObject->methodCount(); ++i)
    methods << QString::fromLatin1(metaObject->method(i).methodSignature());

Siehe auch method(), methodOffset(), und indexOfMethod().

int QMetaObject::methodOffset() const

Gibt den Methoden-Offset für diese Klasse zurück, d.h. die Indexposition der ersten Mitgliedsfunktion dieser Klasse.

Der Offset ist die Summe aller Methoden in den Oberklassen der Klasse (die immer positiv ist, da QObject den deleteLater()-Slot und ein destroyed()-Signal hat).

Siehe auch method(), methodCount(), und indexOfMethod().

[since 6.5] template <typename... Args> QObject *QMetaObject::newInstance(Args &&... arguments) const

Konstruiert eine neue Instanz dieser Klasse und gibt das neue Objekt zurück, oder nullptr, wenn kein geeigneter Konstruktor verfügbar ist. Die Typen der Argumente arguments werden verwendet, um einen passenden Konstruktor zu finden, und dann auf die gleiche Weise wie Signal-Slot-Verbindungen an diesen weitergeleitet.

Beachten Sie, dass nur Konstruktoren, die mit dem Q_INVOKABLE Modifikator deklariert sind, durch das Meta-Objektsystem verfügbar gemacht werden.

Diese Funktion wurde in Qt 6.5 eingeführt.

Siehe auch constructor().

[static] QByteArray QMetaObject::normalizedSignature(const char *method)

Normalisiert die Signatur des gegebenen method.

Qt verwendet normalisierte Signaturen, um zu entscheiden, ob zwei gegebene Signale und Slots kompatibel sind. Die Normalisierung reduziert Leerzeichen auf ein Minimum, verschiebt 'const' an den Anfang, wo es angebracht ist, entfernt 'const' von Wertetypen und ersetzt const-Referenzen durch Werte.

Siehe auch checkConnectArgs() und normalizedType().

[static] QByteArray QMetaObject::normalizedType(const char *type)

Normalisiert eine type.

Siehe QMetaObject::normalizedSignature() für eine Beschreibung, wie Qt normalisiert.

Beispiel:

QByteArray normType = QMetaObject::normalizedType(" int    const  *");
// normType is now "const int*"

Siehe auch normalizedSignature().

QMetaProperty QMetaObject::property(int index) const

Gibt die Metadaten für die Eigenschaft mit der angegebenen index zurück. Existiert eine solche Eigenschaft nicht, wird ein Nullwert QMetaProperty zurückgegeben.

Siehe auch propertyCount(), propertyOffset(), und indexOfProperty().

int QMetaObject::propertyCount() const

Gibt die Anzahl der Eigenschaften in dieser Klasse zurück, einschließlich der Anzahl der Eigenschaften, die von jeder Basisklasse bereitgestellt werden.

Verwenden Sie Code wie den folgenden, um eine QStringList zu erhalten, die die spezifischen Eigenschaften einer bestimmten Klasse enthält:

const QMetaObject* metaObject = obj->metaObject();
QStringList properties;
for(int i = metaObject->propertyOffset(); i < metaObject->propertyCount(); ++i)
    properties << QString::fromLatin1(metaObject->property(i).name());

Siehe auch property(), propertyOffset(), und indexOfProperty().

int QMetaObject::propertyOffset() const

Gibt den Eigenschaftsoffset für diese Klasse zurück, d.h. die Indexposition der ersten Eigenschaft dieser Klasse.

Der Versatz ist die Summe aller Eigenschaften in den Oberklassen der Klasse (die immer positiv ist, da QObject die Eigenschaft name() hat).

Siehe auch property(), propertyCount(), und indexOfProperty().

const QMetaObject *QMetaObject::superClass() const

Gibt das Meta-Objekt der Superklasse zurück, oder nullptr, wenn es kein solches Objekt gibt.

Siehe auch className().

QMetaProperty QMetaObject::userProperty() const

Gibt die Eigenschaft zurück, bei der das Kennzeichen USER auf true gesetzt ist.

Siehe auch QMetaProperty::isUser().

Makro-Dokumentation

QMetaMethodArgument Q_ARG(Type, const Type &value)

Dieses Makro nimmt ein Type und ein value dieses Typs und gibt ein QMetaMethodArgument zurück, das mit den Args &&... Argumenten an die Vorlage QMetaObject::invokeMethod() übergeben werden kann.

Siehe auch Q_RETURN_ARG().

QMetaMethodReturnArgument Q_RETURN_ARG(Type, Type &value)

Dieses Makro nimmt ein Type und einen nicht-konstanten Verweis auf ein value dieses Typs und gibt ein QMetaMethodReturnArgument zurück, das mit den Args &&... Argumenten an die Vorlage QMetaObject::invokeMethod() übergeben werden kann.

Siehe auch Q_ARG().

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.