【发布时间】:2011-02-15 05:35:19
【问题描述】:
我最近从 wxpython 转换为 pyqt,但我仍然面临很多问题,因为我在 pyqt 中仍然是菜鸟
如果用户在 pyqt 中按下(CTRL+key),是否可以检测到?以及如何?
3天来,我一直在努力寻找答案。如果您知道网站或学习 pyqt 的好地方,将不胜感激
提前谢谢
【问题讨论】:
我最近从 wxpython 转换为 pyqt,但我仍然面临很多问题,因为我在 pyqt 中仍然是菜鸟
如果用户在 pyqt 中按下(CTRL+key),是否可以检测到?以及如何?
3天来,我一直在努力寻找答案。如果您知道网站或学习 pyqt 的好地方,将不胜感激
提前谢谢
【问题讨论】:
添加一个QShortcut并监听它的activated()信号,然后在槽中执行动作。
或者您可以重新实现 QWidget 并将 keyPressEvent 定义为您喜欢的。检查事件参数的 modifiers() 和 key() 以查看它们是否与您想要的匹配。这会在 QWidget 有焦点时监听快捷键。
【讨论】:
至于要学习的网站,this 是官方文档——它需要一些时间来适应,但是一旦你了解了情况(可以这么说)就会很有帮助。在发现文档之前,This tutorial 是我最初的想法。
祝你好运!
附:如果您尝试将 Ctrl+X 映射到也可由menu 或toolbar button 执行的操作,您还可以查看QAction... 它包含一个快捷方式以及图标和/或文本在一个非常方便的包装中。仅供参考。
【讨论】: