特定小部件的PyQt / PySide键盘快捷键

时间:2013-08-30 17:13:38

标签: python qt pyqt pyside

我正在尝试使用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)

也不起作用。

1 个答案:

答案 0 :(得分:0)

这是由于PyQt中的一个错误,升级到4.10.3已经解决了问题,这意味着我可以使用快捷方式上下文来获得所需的结果。