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,
    mit Q_OBJECT Macro ist die Klasse Window in der Lage, signals und slots zu verwenden.
    Q_INVOKABLE macht die Methode invokableMethod von QML aus aufrufbar.
    -Michael.



  • @m.sue

    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.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.