QComboBox beim anklicken einem slot zuweisen
QComboBox beim anklicken einem slot zuweisen
Hallo,
habe eine Combobox
MyComboBox *comboBox = new MyComboBox(this->ui->scrollAreaWidgetContents_2);
und möchte das wenn diese angecklicked wird ein slot aufgerufen wird.
z.B. so in etwa
QObject::connect(comboBox,SIGNAL(clicked()),this,SLOT(tueEtwas()));
Aber will natürlich nicht.
Jeden Vorschlag nehme ich dankend an.
habe eine Combobox
MyComboBox *comboBox = new MyComboBox(this->ui->scrollAreaWidgetContents_2);
und möchte das wenn diese angecklicked wird ein slot aufgerufen wird.
z.B. so in etwa
QObject::connect(comboBox,SIGNAL(clicked()),this,SLOT(tueEtwas()));
Aber will natürlich nicht.
Jeden Vorschlag nehme ich dankend an.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Hallo Christian,
this ist die aktuelle Klasse in der ich mich befinde. connect gibt true zurück.
Ich will nicht meinen das der von mir gegangene Weg richtig ist. Ich wollte mehr verdeutlichen was der Weg ist den ich gehen möchte.
Sobald die ComboBox angecklicked wird möchte ich eine Funktion oder slot Funktion aufrufen.
Wie macht man soetwas?
this ist die aktuelle Klasse in der ich mich befinde. connect gibt true zurück.
Ich will nicht meinen das der von mir gegangene Weg richtig ist. Ich wollte mehr verdeutlichen was der Weg ist den ich gehen möchte.
Sobald die ComboBox angecklicked wird möchte ich eine Funktion oder slot Funktion aufrufen.
Wie macht man soetwas?
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Wo wir gerad bei ComBox sind hier noch eine Frage/Problem.
Also mit
void KlasseX::tueEtwas()
{
MyComboBox* sender = qobject_cast < MyComboBox* > (QWidget::sender());
qDebug() << "Bin ich die richtige Box? " << sender->x;
}
bekomme ich den richtigen eintrag, was soviel heist wie das der sender auch die Combobox ist, welche ich angecklicket hatte.
Nur wie kriege ich jetzt heraus was der aktuelle Eintrag in der ComBox ist?
Also mit
void KlasseX::tueEtwas()
{
MyComboBox* sender = qobject_cast < MyComboBox* > (QWidget::sender());
qDebug() << "Bin ich die richtige Box? " << sender->x;
}
bekomme ich den richtigen eintrag, was soviel heist wie das der sender auch die Combobox ist, welche ich angecklicket hatte.
Nur wie kriege ich jetzt heraus was der aktuelle Eintrag in der ComBox ist?
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Das wird doch in activated(int) mit übergeben... siehe Doku: http://doc.trolltech.com/4.6/qcombobox.html#activated
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
tueetwas ist eine slot Funktion nix da mit Parameter.
wenn ich
sender->
schreibe zeigt er mir kommischerweise nicht alle Möglichkeiten an.
Die Lösung ist
sender->currentText();
So hatte ich mir es auch anfangs gedacht nur hat QT-editor mir nicht currenText() angezeigt.
Ich habs trotzdem versucht und es ging.
Ein Rätsel warum QT mir das nicht anzeigt, aber das zeigt man sollte nicht zuviel seinen editor vertrauen.
Danke für support!
wenn ich
sender->
schreibe zeigt er mir kommischerweise nicht alle Möglichkeiten an.
Die Lösung ist
sender->currentText();
So hatte ich mir es auch anfangs gedacht nur hat QT-editor mir nicht currenText() angezeigt.
Ich habs trotzdem versucht und es ging.
Ein Rätsel warum QT mir das nicht anzeigt, aber das zeigt man sollte nicht zuviel seinen editor vertrauen.
Danke für support!