[solved] Globale QAction

Alles rund um die Programmierung mit Qt
Antworten
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

[solved] Globale QAction

Beitrag von AuE »

Hi @all,

ich möchte gern ein KeyEvent von überall aus dem Programm zugreifen. Bei Key Event soll dann automatisch die Aktion ausgeführt werden. Die Aktion soll in keine Menubar oder sonstiges....

Hier mein bisheriger Code:

Code: Alles auswählen

	switchConsoleAction = new QAction(this);
	switchConsoleAction->setShortcutContext( Qt::WidgetWithChildrenShortcut );
	switchConsoleAction->setShortcut(QKeySequence( Qt::Key_Alt + Qt::Key_F1) );
Irgendwie funktioniert das nur leider nicht.... kann es sein das die KeySequenz irgendwo abgefangen wird?

Gruß
Zuletzt geändert von AuE am 8. September 2009 12:43, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Also, wenn ich Alt+F1 drücke, wird es von meinem Fenster-Manager abgefangen...
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Jaha... wenn man einen Windowmager hat ;-)
Aber der Code müsste doch eig klappen oder siehst du da Fehler?

der ges Code hierfür:

Code: Alles auswählen

switchConsoleAction = NULL;
switchConsoleAction = new QAction(this);
	switchConsoleAction->setShortcutContext( Qt::WidgetWithChildrenShortcut );
	switchConsoleAction->setShortcut(QKeySequence( Qt::Key_Alt + Qt::Key_F1) );
	QObject::connect( switchConsoleAction, SIGNAL(triggered()), this, SLOT(on_pushButton_openConsole_clicked()));

	ui->pushButton_openConsole->addAction( switchConsoleAction );
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

[solved] Globale QAction

Beitrag von AuE »

Ich Idiot.... ;-)

Man muss die Action auch dem Mainwidget zuweisen und nicht dem Button ;-)

this->addAction (swichConsoleAction);

und es geht
Antworten