标题:Qt窗体如何比控件优先获取键盘事件,即使光标在lineEdit里面
作者:ustone
日期:2022-01-27 09:05
内容:
Qt窗体如何比控件优先获取键盘事件,即使光标在lineEdit里面按键也能优先触发窗体的void keyPressEvent(QKeyEvent *e)?
#1 [20091001753 01-27 18:41]
可以,事件过滤器
#2 回 20091001753 的帖子 [ustone 01-27 19:36]
20091001753:可以,事件过滤器 (2022-01-27 18:41)
如果窗体控件很多呢?
#3 [20091001753 01-28 13:38]
比如,你想用 a 窗口 过滤 b 窗口(控件)的事件:
代码就是:
b->installEventFilter(a);
这种方式是允许你过滤很多很多控件的。
#4 回 20091001753 的帖子 [ustone 01-28 15:38]
20091001753:比如,你想用 a 窗口 过滤 b 窗口(控件)的事件:
代码就是:
b->installEventFilter(a);
这种方式是允许你过滤很多很多控件的。
....... (2022-01-28 13:38)
比如说a窗口有一些设置控件,还有一个游戏画面,要用方向键操作,无论输入光标在哪里,a窗口的void keyPressEvent(QKeyEvent *e)要优先获得方向按键,这个怎么截获?
#5 [20091001753 01-28 20:47]
若只是单纯的键盘事件响应,可以用 QShortcut 定义快捷键。