QT for Android 物理按键监听

在QT for Android上实现对物理按键的监听

运行的目标平台比较特殊,有几个比较特殊的物理按键,其实现机制和按键机制不一样,并且从F9多了几个功能键到F27

我们现在就一步步来看看怎么处理

1.首先实现监听Menu键

需要了解的技术:QMenu QAction 信号和槽 QEvent

通过学习QT的Event机制我们可以知道,该如何去实现监听Menu键。在QT的event系统中,当有event产生时会被QT系统扔到消息队列中等待处理。而我们的应用程序就可以通过event()函数来进行获取,而且我们可以对event进行过滤,决定我们把什么event进行抛弃。

在程序的MianWindow中重写父类的void keyPressEvent(QKeyEevnt * event)函数,在此函数可以获取到Android的各种按键监听。

2.实现监听示教器上的其他物理按键

出现的问题: 无法监听到F9以后的按键并抛出异常
<span style="color: red">W/libNodepad.so( 1868): (null):0 ((null)): Unhandled key code 271 !</span>

只要我们把问题解决了,自然就能监听到其他的物理按键了。
判断:QT的源码中对未知的key code进行了异常抛出

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容