Alles rund um die Programmierung mit Qt
AuE
Beiträge: 918 Registriert: 5. August 2008 10:58
Beitrag
von AuE » 8. September 2009 11:53
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 » 8. September 2009 12:11
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 » 8. September 2009 12:15
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
Beitrag
von AuE » 8. September 2009 12:43
Ich Idiot....
Man muss die Action auch dem Mainwidget zuweisen und nicht dem Button
this->addAction (swichConsoleAction);
und es geht