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?
Tastaturabfrage
Re: Tastaturabfrage
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
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.
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
Dann guck Dir mal QSignalMapper an. Ist wahrscheinlich die bessere Lösung.