Seite 1 von 1

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

Verfasst: 1. Oktober 2008 14:39
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

Verfasst: 1. Oktober 2008 15:03
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

Verfasst: 1. Oktober 2008 15:06
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

Verfasst: 1. Oktober 2008 16:58
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...