在QMousePressEvent中,如何获取键盘按下的键?

王桑的一天 2020-03-04 11:42:22
在QMousePressEvent中,如何获取键盘按下的键?

注意我是指非Ctrl, Alt, Shift功能键,是普通键如 A, B, C。。。

QMousePressEvent没有key()函数;

我想按下某键的同时点击鼠标左键来实现某功能的开关。比如按下 A 的同时点击鼠标左键
...全文
829 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
王桑的一天 2020-03-23
  • 打赏
  • 举报
回复
引用 13 楼 亭台六七座 的回复:
用事件过滤器试试
试了,好像只能捕获单个事件,比如键盘事件、或鼠标事件,没法判断组合 A + 左键
王桑的一天 2020-03-23
  • 打赏
  • 举报
回复
引用 12 楼 Z_墨脱 的回复:
QMousePressEvent 不是鼠标事件吗 和你键盘事件有关系吗
是的,但我想按下某键的同时点击鼠标左键来实现某功能的开关。比如按下 A 的同时点击鼠标左键
亭台六七座 2020-03-23
  • 打赏
  • 举报
回复
用事件过滤器试试
Z_墨脱 2020-03-23
  • 打赏
  • 举报
回复
QMousePressEvent 不是鼠标事件吗 和你键盘事件有关系吗
王桑的一天 2020-03-23
  • 打赏
  • 举报
回复
引用 10 楼 qq_33097303 的回复:
[quote=引用 9 楼 管理員 的回复:] [quote=引用 8 楼 这是一个正经昵称 的回复:] [quote=引用 7 楼 这是一个正经昵称 的回复:] [quote=引用 6 楼 管理員 的回复:] [quote=引用 4 楼 这是一个正经昵称 的回复:] https://doc.qt.io/qt-5/qkeyevent.html
你给我发个这玩意儿干嘛?我自己也有这个,看清楚问题啊[/quote] 同时判断两个Event不行吗?鼠标事件都写明了是鼠标事件怎么获取键盘?[/quote] 正常流程难道不就是组合按键的功能+一个鼠标点击吗?这还不能达到你的目的?难不成目标不是实现这个功能, 是实现在鼠标事件里能成功获取按键? [/quote] 是的,就是要在鼠标事件里,想要获取按键,而且不是功能键,是普通键ABC[/quote] Qt::Key_A Qt::Key_B Qt::Key_C Qt::Key_D Qt::Key_E Qt::Key_F Qt::Key_G Qt::Key_H Qt::Key_I Qt::Key_J Qt::Key_K Qt::Key_L Qt::Key_M Qt::Key_N Qt::Key_O Qt::Key_P Qt::Key_Q Qt::Key_R Qt::Key_S Qt::Key_T Qt::Key_U Qt::Key_V Qt::Key_W Qt::Key_X Qt::Key_Y Qt::Key_Z [/quote] 哥们 ,你看我的需求了没
斜阳日落 2020-03-19
  • 打赏
  • 举报
回复
引用 9 楼 管理員 的回复:
[quote=引用 8 楼 这是一个正经昵称 的回复:]
[quote=引用 7 楼 这是一个正经昵称 的回复:]
[quote=引用 6 楼 管理員 的回复:]
[quote=引用 4 楼 这是一个正经昵称 的回复:]
https://doc.qt.io/qt-5/qkeyevent.html

你给我发个这玩意儿干嘛?我自己也有这个,看清楚问题啊[/quote]
同时判断两个Event不行吗?鼠标事件都写明了是鼠标事件怎么获取键盘?[/quote]
正常流程难道不就是组合按键的功能+一个鼠标点击吗?这还不能达到你的目的?难不成目标不是实现这个功能, 是实现在鼠标事件里能成功获取按键? [/quote]
是的,就是要在鼠标事件里,想要获取按键,而且不是功能键,是普通键ABC[/quote]
Qt::Key_A
Qt::Key_B
Qt::Key_C
Qt::Key_D
Qt::Key_E
Qt::Key_F
Qt::Key_G
Qt::Key_H
Qt::Key_I
Qt::Key_J
Qt::Key_K
Qt::Key_L
Qt::Key_M
Qt::Key_N
Qt::Key_O
Qt::Key_P
Qt::Key_Q
Qt::Key_R
Qt::Key_S
Qt::Key_T
Qt::Key_U
Qt::Key_V
Qt::Key_W
Qt::Key_X
Qt::Key_Y
Qt::Key_Z

王桑的一天 2020-03-06
  • 打赏
  • 举报
回复
引用 8 楼 这是一个正经昵称 的回复:
[quote=引用 7 楼 这是一个正经昵称 的回复:]
[quote=引用 6 楼 管理員 的回复:]
[quote=引用 4 楼 这是一个正经昵称 的回复:]
https://doc.qt.io/qt-5/qkeyevent.html

你给我发个这玩意儿干嘛?我自己也有这个,看清楚问题啊[/quote]
同时判断两个Event不行吗?鼠标事件都写明了是鼠标事件怎么获取键盘?[/quote]
正常流程难道不就是组合按键的功能+一个鼠标点击吗?这还不能达到你的目的?难不成目标不是实现这个功能, 是实现在鼠标事件里能成功获取按键? [/quote]
是的,就是要在鼠标事件里,想要获取按键,而且不是功能键,是普通键ABC
  • 打赏
  • 举报
回复
引用 2 楼 管理員 的回复:
[quote=引用 1 楼 这是一个正经昵称 的回复:] 不是QKeyEvent吗?
什么?我是要获取所按的键[/quote] https://doc.qt.io/qt-5/qkeyevent.html
  • 打赏
  • 举报
回复
引用 7 楼 这是一个正经昵称 的回复:
[quote=引用 6 楼 管理員 的回复:] [quote=引用 4 楼 这是一个正经昵称 的回复:] https://doc.qt.io/qt-5/qkeyevent.html
你给我发个这玩意儿干嘛?我自己也有这个,看清楚问题啊[/quote] 同时判断两个Event不行吗?鼠标事件都写明了是鼠标事件怎么获取键盘?[/quote] 正常流程难道不就是组合按键的功能+一个鼠标点击吗?这还不能达到你的目的?难不成目标不是实现这个功能, 是实现在鼠标事件里能成功获取按键?
  • 打赏
  • 举报
回复
引用 6 楼 管理員 的回复:
[quote=引用 4 楼 这是一个正经昵称 的回复:] https://doc.qt.io/qt-5/qkeyevent.html
你给我发个这玩意儿干嘛?我自己也有这个,看清楚问题啊[/quote] 同时判断两个Event不行吗?鼠标事件都写明了是鼠标事件怎么获取键盘?
王桑的一天 2020-03-06
  • 打赏
  • 举报
回复
引用 4 楼 这是一个正经昵称 的回复:
https://doc.qt.io/qt-5/qkeyevent.html

你给我发个这玩意儿干嘛?我自己也有这个,看清楚问题啊
windywater119 2020-03-06
  • 打赏
  • 举报
回复
如果是在Windows上,可以使用GetKeyState()和GetKeyboardState(),Qt似乎没有封装成跨平台方法
  • 打赏
  • 举报
回复
不是QKeyEvent吗?
王桑的一天 2020-03-05
  • 打赏
  • 举报
回复
引用 1 楼 这是一个正经昵称 的回复:
不是QKeyEvent吗?

什么?我是要获取所按的键

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧