Qt5.6.1移植海思Hi3521d(四)

系列文章目录


Qt5.6.1移植海思Hi3521d(一)
Qt5.6.1移植海思Hi3521d(二)
Qt5.6.1移植海思Hi3521d(三)


前言

该篇讲解一下我在开发过程中遇到的问题,使用遥控器操作Qt终端


一、遥控器信号

刚开始没认真看文档,以为Qt的信号能捕捉到遥控器的信号,结果一测试,一点反应都没有,折腾了很久;后面看文档,发现需要调用海思的API,打开某个端口,就可以读到遥控器的按键信息,然后根据按键转换成对应的Qt响应事件;海思具体demo参考路径如下:

Hi3521D_V100R001C01SPC040\01.software\board\Hi3521DV100_SDK_V1.0.4.0\package\drv\hisi-irda

demo很简单,拿过来改改就行,具体源码我就不提供了,讲下大概流程:
1、起一个线程,打开遥控器对应的端口,然后while循环一直读端口数据;
2、没读到,继续循环;
3、读到了,就发往Qt界面进行响应

二、Qt界面响应

1、比较麻烦一点的就是遥控器控制Qt界面控件光标移动,因为支持上下左右,我这边也没想到更好的办法,就使用二维数组保存每个界面控件,然后通过移动数组下标,设置控件选中状态,来达到遥控器控制光标移动的效果;有更好方案的大佬可以评论区留言哦

2、剩下一些确认、返回等等快捷键的操作响应就很简单了,总体来说不难

你可能感兴趣的:(Qt海思3521D,qt,开发语言)