Tastaturabfrage

Alles rund um die Programmierung mit Qt
Antworten
hotte
Beiträge: 2
Registriert: 12. Dezember 2005 12:56

Tastaturabfrage

Beitrag 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?
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: Tastaturabfrage

Beitrag 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
	}
}
hotte
Beiträge: 2
Registriert: 12. Dezember 2005 12:56

nochmal Tastaurabfrage

Beitrag 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.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: nochmal Tastaurabfrage

Beitrag von macman »

Dann guck Dir mal QSignalMapper an. Ist wahrscheinlich die bessere Lösung.
Antworten