1.前段时间做过一个小需求:定义快捷键<- -> 以及数字键0 1 2 3 4 来定位MainWindow中的一组子控件
可是发现重写了MainWindow中的KeyPressEvent()后 如果其没有处于焦点状态 则其按键是无效的
必须使之处于焦点状态 才能对按键做出反应。后来想的办法有:
(1)监视所有的子控件的事件 发现是所定义的快捷键 则交给MainWindow处理 但这样很麻烦 每次new一个子控件 都需要installFilter()下 还有 我发现QAxWidget这个子控件并不会转发事件
(2)想重写所有的子控件的keypressEvent() 将获取的Event()发送给parent 也是很麻烦
2.后来使用了Win32中的键盘钩子完美实现了该功能 但是 我想知道 QT中对按键处理真就真么麻烦吗?