[Qt] Signal - Slot



  • Hallo,

    ich will ein Programm schreiben, das nach dem Start für jede Datei mit einer bestimmten Endung im Programmverzeichnis eine Schaltfläche auf einer ToolBar erzeugt. Wenn man dann auf eine Schaltfläche klickt, soll sich die betreffende Datei öffnen.
    Wie kann ich feststellen, von welcher Schaltfläche das Signal ausgeht, wenn alle Schaltflächen mit dem gleichen Signal verbunden werden?



  • du kannst entweder die signale mit verschiedenen slots verbinden, oder den button ueberladen und irgendeinen text etc mitschicken..

    es gibt auch funktionen, um den sender herauszufinden, aber die sollte man eher nicht verwenden.



  • mit QSignalMapper kann man vllt. auch noch was machen, vllt. ein string-parameter mit dateinamen oder so uebergeben.

    mfg,
    julian



  • 1. Alle Actions in eine QActionGroup packen und dann über triggered(QAction* action) die feuernde Action rausfinden.

    2. Sich die QActionGroup sparen und mit QObject::sender() die feuernde Action rausfinden.

    HTH,
    Weilor


Anmelden zum Antworten