首页 > 解决方案 > 在 Qt 中,我如何知道按下了哪些修改键而不覆盖按键按下和释放事件函数

问题描述

我正在编写一个 UI 管理器,当您 ctrl-alt-rclick 小部件时,它允许您编辑小部件。

我已经在顶层窗口中实现了按键和释放功能,以便能够检测 ctrl 和 alt 键的状态。然而,就好像另一个窗口或对话框获得焦点一样,按键事件去那里而不是我的事件侦听器,这是非常不稳定的。

我见过的每一个其他 GUI 工具包,以及我见过的每一个窗口管理器系统,都允许您随时检查按键的状态,而不是依赖于监听按键按下/释放事件。

我已经深入搜索了 Qt 文档,但找不到任何可以让我简单地检查是否随时按下特定键的功能。

在 Qt 中,如何在不监视事件的情况下检测键盘按键的状态?

标签: qt5keypress

解决方案


你在找[static] Qt::KeyboardModifiers QGuiApplication::queryKeyboardModifiers()吗?


推荐阅读