Seite 1 von 1
keypressevent : STRG+K
Verfasst: 10. Juni 2010 14:48
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.
Verfasst: 10. Juni 2010 14:57
von franzf
Reicht dir QKeyEvent::modifiers?
Verfasst: 10. Juni 2010 15:03
von whit3
franzf hat geschrieben:Reicht dir QKeyEvent::modifiers?
kann ich das in mein keypressevent implementieren??
Verfasst: 10. Juni 2010 15:09
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

). Über das Objekt, das an das keyPressEvent() übergeben wird, kannst du dir so die modifiers (STRG, SHIFT, ...) holen.
Verfasst: 10. Juni 2010 15:23
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

). Über das Objekt, das an das keyPressEvent() übergeben wird, kannst du dir so die modifiers (STRG, SHIFT, ...) holen.
vielen dank fuer die schnellen antworten
so funktioniert es :
Code: Alles auswählen
void Form1::keyPressEvent(QKeyEvent * e)
{
if ( (e->key() == Key_U) && (e->state() & ControlButton) )
QMessageBox::information(this,"","TastenCombo");
}
Verfasst: 10. Juni 2010 16:01
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.
Verfasst: 10. Juni 2010 19:22
von upsala
Qt3 hatte state