Qt Macros Benutzung
-
Hallo zusammen,
meine Frage handelt es sich eigentlich um Qt Macros:
Wann ist sinnvoll die Macros einzusetzen?
Was ist eigentlich der unterschied z.B:class Window : public QWidget { Q_OBJECT public: Window(); void normalMethod(); Q_INVOKABLE void invokableMethod(); };
Es ist in der Qt doc :" Dieses Macro wird angewendet damit es über die Meta-Object-system aufgerufen wird "beschrieben, aber habe ich immer nicht zu 100 % verstanden
-
Hi,
mitQ_OBJECT
Macro ist die KlasseWindow
in der Lage, signals und slots zu verwenden.
Q_INVOKABLE
macht die MethodeinvokableMethod
von QML aus aufrufbar.
-Michael. -
Danke
Gibt es eine Liste der Qt macros und deren Erklärungen? -
Hi,
die Erklärung der Macros ist ziemlich verteilt über die Qt Klassen. Hier sind ein paar für QObject: http://doc.qt.io/qt-5/qobject.html#macros.
Hmm, die Doku sagt zu Q_INVOKABLE, dass es damit möglich wird, die Funktion über QMetaObject::invokeMethod aufzurufen. Doch das geht auch, wenn man sie einfach zum "slot" machen würde. Der genaue Unterschied ist mir also nicht klar, falls es überhaupt einen gibt.
-Michael.