[Qt] Slot von Kindklasse mit Signal von Basisklasse verbinden



  • Hi,

    ich habe eine zwei Klassen:

    //--- Mother.h 
    class Mother : public QSomething
    {
    ...
    Q_SIGNALS:
       void someSignal();
    };
    //--- Child.h
    class Child : public Mother
    {
    ...
    public slots:
        void someSlot();
    };
    

    nun möchte ich someSignal() mit someSlot() verbinden. Wie geht das?



  • Was willst du erreichen? Wie sieht dein Kontext aus?
    Das prinzipielle Konzept solltest du ja kennen:

    Mother* m = new Mother;
    Child* c = new Child;
    QObject::connect(m, SIGNAL(someSignal()), c, SLOT(someSlot()));
    


  • Krotzbot schrieb:

    Was willst du erreichen? Wie sieht dein Kontext aus?
    Das prinzipielle Konzept solltest du ja kennen:

    Mother* m = new Mother;
    Child* c = new Child;
    QObject::connect(m, SIGNAL(someSignal()), c, SLOT(someSlot()));
    

    die frage ist: sind signale virtuell? kann ich ein signal von Mother auch in Child benutzen?



  • Kojunbaba schrieb:

    die frage ist: sind signale virtuell? kann ich ein signal von Mother auch in Child benutzen?

    Signals sind nicht virtuell, warum auch? Wird ja nicht implementiert. Oder hast du schon mal ein SIGNAL implementiert? 😛 Die werden nur emittiert.
    Den SLOT wiederum kannst du serwohl virtuell gestalten.

    Aber prinzipiell ist ein Signal auch von den erbenden Klassen emittierbar. Oder was verstehst du unter "verwendbar"?
    Sag doch mal konkret was du machen willst... Oder probier es einfach selber aus.



  • Kojunbaba schrieb:

    die frage ist: sind signale virtuell? kann ich ein signal von Mother auch in Child benutzen?

    Ja, kannst du. Mit "virtuell" hat das allerdings überhaupt nichts zu tun.


Anmelden zum Antworten