[Development] QtQuickControls Action keyboard shortcuts and keyPressEvent (TextField)
Ola Røer Thorsen
ola at silentwings.no
Mon Aug 12 10:54:50 CEST 2013
I'm writing a specialized playback application, based on Qt 5.1. The GUI
is based on QtQuick, and uses the QuickControls. The root window is a
QQuickWindow, and the base item in the Quick scene is an ApplicationWindow.
I use Action items with keyboard shortcuts defined. This works, but it
seems like an Action gets the keyboard event before the Quick items
receive them. This means that if I have a TextField with active focus,
it will not receive any keyboard key press events if such a key is
already defined in an Action.
I tried the same setup in a QWidget-based application. There it is no
problem - I add a QAction to QApplication with a shortcut - it is
triggered as long as it's not accepted by a text field first.
Example: spacebar is shortcut for a play/pause toggle action. This means
space cannot be used in a TextField with active focus. It will toggle
play/pause while you type, and no space appears in the text. Please
don't tell me I will have to add Ctrl+ to all the shortcuts...
Is this intended behavior in QtQuick? Shouldn't the item with active
focus get the key press BEFORE any Action?
More information about the Development