我试图使用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)也不管用。
发布于 2013-09-02 13:00:29
这是由于PyQt中的一个bug,升级到4.10.3已经解决了这个问题,并意味着我可以使用快捷上下文来获得所需的结果。
https://stackoverflow.com/questions/18538212
复制相似问题