I have an application that opens multiple children widgets as separate windows, something like this: window1 opens window 2 which opens window 3 (simplified form).
In the main window I have set CTRL+Q as the quit shortcut. Below is a stripped down example of the main class.
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.actionExit = QtGui.QAction(_('E&xit'),self)
self.actionExit.setShortcut('Ctrl+Q')
self.actionExit.setStatusTip(_('Close application'))
self.connect(self.actionExit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
Right now if I open the third child and push CTRL+Q nothing happens. Is there a way so that the children inherit the shortcut key for quit or to make the shortcut global or do I have to declare it in each of them?
Here is what I have used in __init__
function:
QtGui.QShortcut(QtGui.QKeySequence("Ctrl+Q"), self, self.close)
It works smoothly!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With