Seite 1 von 1
Tastaturabfrage
Verfasst: 12. Dezember 2005 13:05
von hotte
Hallo,
in einer Qt-Anwendung habe ich einen QPushButton mit der zugehörigen Slotroutine.
In der Slotroutine möchte ich feststellen, ob zu dem click auf den Button gleichzeitig die Taste Alt, Shift oder Strg gedrückt wurde.
Kann mir jemand helfen?
Re: Tastaturabfrage
Verfasst: 12. Dezember 2005 15:58
von macman
Nimm nicht das clicked-Signal, sondern mouseButtonPressed oder mouseButtonReleased. Der Slot sähe dann ungefähr so aus:
Code: Alles auswählen
void myDialog::mousePressEvent(QMouseEvent *e)
{
switch (e->type())
{
case QEvent::MouseButtonPress:
QMouseEvent * qme = (QMouseEvent *) e;
if (qme->button() == Qt::RightButton && qme->modifiers() == Qt::ALT)
...todo
}
}
nochmal Tastaurabfrage
Verfasst: 13. Dezember 2005 11:07
von hotte
Hallo,
der einfachheithalber und unter der Voraussetzung, das ich die Tastaur in dem Slot der QPushButton abfragen kann, habe ich nicht erwähnt das ich in dem Elternwidget insgesamt zwei QPushButton und zwei QComboBox habe.
Wie kann ich in oben beschriebenen Code die zwei QPushButton unterscheiden?
Kann ich die QComboBox in eigener Slotroutine verarbeiten oder muss ich die Verarbeitung in den mousePressEvent einbinden?
Vielen Dank im voraus.
Re: nochmal Tastaurabfrage
Verfasst: 13. Dezember 2005 11:49
von macman
Dann guck Dir mal QSignalMapper an. Ist wahrscheinlich die bessere Lösung.