Signal Slot Problem

Alles rund um die Programmierung mit Qt
Antworten
draco
Beiträge: 7
Registriert: 13. August 2010 08:31

Signal Slot Problem

Beitrag von draco »

Hallo zusammen,

ich fange gerade mit Qt an und frage mich wie ich ein Button dazu bewegen kann den Text eines Labels zu ändern?

So geht es ja wegen der unterschiedlichen Parameter nicht:

Code: Alles auswählen

QObject::connect(button, SIGNAL(clicked()), label, SLOT(setText("Button geklickt")));
Wie macht man das richtig?

Gruß Draco
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Dein Label liegt sicher irgendwo in einer eigenen Klasse. Definier dort einen SLOT, der mit den Parametern des button-clicked()-SIGNALs kompatibel ist und setze dort den Text selber:

Code: Alles auswählen

class Widget : public QWidget {
Q_OBJECT
QLabel* lbl;
QPushButton* btn;
public:
  Widget() {
    lbl = new QLabel;
    btn = new QPushButton;
    ///////
    connect(btn, SIGNAL(clicked()), SLOT(changeLabel()));
  }
public slots:
  void changeLabel() {
    lbl->setText("Hallo, Applikation");
  }
};
draco
Beiträge: 7
Registriert: 13. August 2010 08:31

Beitrag von draco »

Danke das hat mir sehr geholfen. Eine Frage hätte ich zu deinem connect noch. Fehlt vor dem SLOT nicht noch der this Zeiger auf das eigene Objekt?

Gruß Draco
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

draco hat geschrieben:Fehlt vor dem SLOT nicht noch der this Zeiger auf das eigene Objekt?
Gruß Draco
Schau halt mal in die Online-Dokumentation, dann siehst du das es verschiedene Versionen von connect(...) gibt ... das beantwortet dann deine Frage.
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
draco
Beiträge: 7
Registriert: 13. August 2010 08:31

Beitrag von draco »

Ja danke, es gibt genau zwei. Aber es hätte ja auch ein Tippfehler sein können.

Entschuldigung dass ich gefragt habe ohne vorher in die Doku zu schauen. Ich weiß aus anderen Foren dass sich da einige User sehr dran aufhängen, aber es gibt ja auch welche die sich bei vertippten oder vergessenen Wörter fast zu Tode ärgern.

Gruß Draco und immer locker bleiben :wink:
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

Ich seh das nicht verbissen ... nur "manchmal" kommen Fragen die 2.75s Eigeninitiative klären können - mit dem unheimlichen Vorteil das man nebenbei auch noch anderes Zeug sieht/überfliegt und damit die Methoden der Klassen besser kennenlernt. Bei anderen Problemen, immer her mit, da lerne ich häufig auch dran - kenne Qt auch erst seit 1/2 Jahr.
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
Antworten