我正在尝试使用 QShortcut 设置键盘快捷键,仅适用于某个小部件获得焦点时。
我认为通过设置父母,这会起作用。例如:
QtGui.QShortcut(QtGui.QKeySequence("Ctrl+Return"), self.myWidget, self.doSomething)
但是,当按下 Ctrl+Return 时,它会被触发。我知道我可以通过子类化QWidget
和覆盖来做到这一点setShortcut
,但这似乎有点矫枉过正?
有没有更简单的方法?
(答案可以是 C++)
添加:
我认为这可以使用QShortcutContext
http://pyqt.sourceforge.net/Docs/PyQt4/qshortcut.html来完成,但是
QtGui.QShortcut(QtGui.QKeySequence("Ctrl+Return"), self.myWidget, self.doSomething, context=QtCore.Qt.WidgetShortcut)
也不行。