Key - Abfrage bei einer ComboBox (Anfänger) (Verbesserungsv.

Alles rund um die Programmierung mit Qt
Antworten
Andy2211
Beiträge: 65
Registriert: 29. September 2008 23:02

Key - Abfrage bei einer ComboBox (Anfänger) (Verbesserungsv.

Beitrag von Andy2211 »

Hi,
ich möchte eine funktion ausführen oder einen SLOT wenn die Enter Taste beim Focus einer ComboBox gedrückt wird.

Dazu hab ich dann folgendes gemacht:

Code: Alles auswählen

void QComboBox::keyReleaseEvent(QKeyEvent *e){
	int code = e->nativeScanCode();
	if(code == 28 || code == 284){
		//do something here
	}
}
Gibts da eine schönere Möglichkeit?

Gruß,
Andy
Ginsengelf
Beiträge: 79
Registriert: 2. Mai 2007 10:21

Beitrag von Ginsengelf »

Moin, verbinde deinen Slot mit einem der diversen Signale, die die QComboBox bereitstellt (z.B. editTextChanged oder currentIndexChanged).

Ginsengelf

PS: wenn du deine Methode nutzen solltest: du musst eine eigene Klasse von QComboBox ableiten, um keyReleaseEvent zu reimplementieren
Andy2211
Beiträge: 65
Registriert: 29. September 2008 23:02

Beitrag von Andy2211 »

Hi,
wenn ich einen der vorhandenen Signals verwende komm ich aber nicht an das "Enter" Event ran? Oder wird eins der Signals durch enter ausgelöst?

Habs jetzt solange vorläufig mit ner eigenen Klasse gemacht.
Hab im GUI Editor die Funktion "Promote to" gefunden :)

Gruß,
Andy
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

oder ein EventFilter aufsetzen:
http://doc.trolltech.com/4.4/qobject.ht ... ventFilter

Da musst du weder den Qt-Code aendern noch ein eigenes Widget implementieren...
Antworten