Seite 1 von 1

[solved] Globale QAction

Verfasst: 8. September 2009 11:53
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ß

Verfasst: 8. September 2009 12:11
von upsala
Also, wenn ich Alt+F1 drücke, wird es von meinem Fenster-Manager abgefangen...

Verfasst: 8. September 2009 12:15
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 );

[solved] Globale QAction

Verfasst: 8. September 2009 12:43
von AuE
Ich Idiot.... ;-)

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

this->addAction (swichConsoleAction);

und es geht