4

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

也不行。

4

1 回答 1

1

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

于 2013-09-02T13:00:29.903 回答