keypressevent : STRG+K

Alles rund um die Programmierung mit Qt
Antworten
whit3
Beiträge: 42
Registriert: 1. Februar 2010 09:55

keypressevent : STRG+K

Beitrag von whit3 »

Hallo ich will mittels meines keypressevent prüfen ob 2 Tasten gedrückt wurde. Vorzugsweise natuerlich STRG+EGAL.

Code: Alles auswählen

void Form1::keyPressEvent(QKeyEvent * e)
{
	bool a=false,b=false;
	switch (e->key()) 
	{ 
		case Qt::Key_A:
			a = true;	
			break;
		case Qt::Key_B:
			b = true;
			break;
	}
	if(a && b)
		QMessageBox::information(this,"","");
}
Das war mein Ansatz, aber funzt natuerlich nicht, was ich mir schon dachte.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Reicht dir QKeyEvent::modifiers?
whit3
Beiträge: 42
Registriert: 1. Februar 2010 09:55

Beitrag von whit3 »

franzf hat geschrieben:Reicht dir QKeyEvent::modifiers?
kann ich das in mein keypressevent implementieren??
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

whit3 hat geschrieben:
franzf hat geschrieben:Reicht dir QKeyEvent::modifiers?
kann ich das in mein keypressevent implementieren??
modifieres ist eine Methode von QKeyEvent (darfst ruhig in der Doku nachschauen :P). Über das Objekt, das an das keyPressEvent() übergeben wird, kannst du dir so die modifiers (STRG, SHIFT, ...) holen.
whit3
Beiträge: 42
Registriert: 1. Februar 2010 09:55

Beitrag von whit3 »

franzf hat geschrieben:
whit3 hat geschrieben:
franzf hat geschrieben:Reicht dir QKeyEvent::modifiers?
kann ich das in mein keypressevent implementieren??
modifieres ist eine Methode von QKeyEvent (darfst ruhig in der Doku nachschauen :P). Über das Objekt, das an das keyPressEvent() übergeben wird, kannst du dir so die modifiers (STRG, SHIFT, ...) holen.
vielen dank fuer die schnellen antworten :P
so funktioniert es :

Code: Alles auswählen

void Form1::keyPressEvent(QKeyEvent * e)
{
	if ( (e->key() == Key_U) && (e->state() & ControlButton) )
		QMessageBox::information(this,"","TastenCombo");	
}
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Welche Qt-Version verwendest du denn? QKeyEvent hat hier bei mir mit Qt-4.6.3 keine Methode namens "state", das heißt wie gesagt modifiers.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Qt3 hatte state
Antworten