Qt Hilfe



  • Hallo erstmal,

    also ich hab seit neuem angefangen Qt zu lernen und versteht eines nicht

    bei klassen

    im Buch steht mann kann signale und slots nur in klassen definiert werden
    die von der klasse QObject abgeleitet sind

    und im nächsten schritt bisschen danach erstellt er noch ne klasse von der Klasse
    QWidget abgeleitet und definiert slots

    also meine frage worauf kommst an von welcher Klasse man Ableitet ??

    kommst drauf an was man in der klasse definieren will ??
    ich würd mich freuen wenn mir das jemand eklären könnte



  • ali-g schrieb:

    im Buch steht mann kann signale und slots nur in klassen definiert werden
    die von der klasse QObject abgeleitet sind

    und im nächsten schritt bisschen danach erstellt er noch ne klasse von der Klasse
    QWidget abgeleitet und definiert slots

    Die Qt-Doku ist eigentlich ziemlich schön 🙂
    Schau mal bei QWidget gleich in die ersten Zeilen, da findest du so etwas:

    Inherits QObject and QPaintDevice.

    Das bedeutet in C++: "Ein QWidget ist auch/verhält sich wie ein QObject." Für dich ist wichtig, dass es die Fähigkeiten von QObject beherrscht - in dem Fall SIGNAL-SLOT-Verbindungen.
    Das SIGNAL/SLOT-Konzept wird nicht erst bei QWidget angesetzt, da z.B. auch Sachen wie TcpSocket usw. mit SIGNALs seinen State bekannt gibt, und dafür ist kein Widget (= grafisches Element) nötig.

    also meine frage worauf kommst an von welcher Klasse man Ableitet ??

    kommst drauf an was man in der klasse definieren will ??
    ich würd mich freuen wenn mir das jemand eklären könnte

    Es kommt darauf an, was deine Klasse darstellen soll. Willst du z.B. ein recht spezielles Gerät ansprechen, das an einer ganz eigenen Hardware-Schnittstelle hängt, wirst du wohl von QIODevice ableiten. Wenn du hingegen einen tollen "Wunderbutton" schreiben willst, der auf ein "click" rotiert, wirst du von QPushButton erben. Wenn du ein ganz eigenes Widget für irgendwelche Anzeigen brauchst (z.B. Wahlbarometer) wirst du dir ein komplett eigenes Widget schreiben und damit von QWidget ableiten müssen.



  • ok sehr vielen Dank

    ich habs verstanden danke nochmals


Anmelden zum Antworten