【发布时间】:2021-03-15 08:52:34
【问题描述】:
我正在编写一个 UI 管理器,当您 ctrl-alt-rclick 小部件时,它允许您编辑小部件。
我已经在顶层窗口中实现了按键和释放功能,以便能够检测 ctrl 和 alt 键的状态。但是,如果另一个窗口或对话框获得焦点,按键事件会转到那里而不是我的事件侦听器,这是非常不稳定的。
我见过的所有其他 GUI 工具包,以及我见过的每一个窗口管理器系统,都允许您随时检查按键的状态,而不是依赖于监听按键按下/释放事件。
我已经深入搜索了 Qt 文档,但找不到任何可以让我简单地检查是否随时按下特定键的功能。
在Qt中,如何在不监控事件的情况下检测键盘按键的状态?
【问题讨论】:
-
我不明白为什么你需要经常监控键盘。如果您想在 ctrl-alt-right-click 上开始一些操作,那么您可以在收到 mouse click 事件时检查修饰键,对吧?
-
@G.M.我需要经常监控它,因为我找不到任何方法来检查“修改键”。我很想这样做 - 怎么做?另外,感谢您在过去一周左右对我所有问题的所有回复。
-
@G.M.明白了,谢谢 - 它是基础 QInput 类的一个属性,这就是为什么我之前没有看到它:P