嵌入式QT刷新主程序界面时,鼠标卡顿的问题

pmbao5281 2013-09-25 03:29:29
我将Qt移植到arm上,跑起来后,由于部分界面内容比较多,每次弹出界面时都要占用几百ms的时间,导致鼠标会卡住直到界面刷新完成。但是在fedora上跑,鼠标就不会卡住,只是界面不响应鼠标消息而已。
有些人说在嵌入式里鼠标跟界面是在同一个图形层,所以刷新界面会影响到鼠标的刷新。但在桌面版的LINUX里,QT的鼠标是属于系统的,不在同一个图形层,所以不卡。
有什么好的办法可以解决鼠标卡的问题?或者说让鼠标绑定在其他层。
我是做海思3531NVR的开发,遇到这个问题,求各大侠赐教!
...全文
1723 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27170521 2016-03-24
  • 打赏
  • 举报
回复
请问软鼠标方案,需要海思的这个接口 int ioctl (int fd,FBIOPUT_CURSOR_ATTCHCURSOR,HI_U32 *pu32LayerId) 把fb5/6绑定到图形层么?图形层的id怎么填写呢?
pmbao5281 2015-01-08
  • 打赏
  • 举报
回复 1
之前一直关注自己的贴子,所以这么晚才回复,不好意思哈 是这样的,我用的是海思方案,海思提供了多个frame buffer(简称FB),QT占用一个,鼠标另外占用一个,鼠标的FB永远会叠加在QT的FB之上。由于两个层刷新互相独立,鼠标刷新时就不会受到QT卡顿的干扰了 我的实现方法是: QT开启一个线程,这个线程打开鼠标设备,不断获取鼠标的X,Y坐标及滚轮消息,然后控制鼠标FB的移动,由于线程是不断在运行的,不然QT刷新卡顿的影响,所以鼠标不会有卡顿现象。 这个时候你会看到有两个鼠标,一个是QT的鼠标,一个是鼠标FB上的鼠标,将QT的鼠标隐藏掉就好了 至于如果打开鼠标设备,读出鼠标的坐标等消息,就是另外的问题了,祝你们成功。 当然如果有更好的办法,不需要使用到鼠标FB当然最好,因为我发现其他厂家同样是用QT实现的,鼠标也是QT的鼠标,并没有用到海思的鼠标FB,而且也不卡顿。本人能力有限,还没摸透怎么实现的。如果有高人知道,请告诉我啊,哈哈
gokartscomeon 2014-07-14
  • 打赏
  • 举报
回复
你好,请问,你是怎么用海思的刷新鼠标的,求指教
laoyang1018 2014-06-03
  • 打赏
  • 举报
回复
引用 3 楼 pmbao5281 的回复:
解决了,用海思的鼠标层刷鼠标就可以了,不用QT来刷鼠标
你好 我也是用QT绘图 遇到鼠标会卡顿 甚至卡死的情况,请问你后来是用海思的鼠标层来解决了,我用的是天嵌科技的E9开发板,不知道如何使用类似海思的这样的鼠标层呢,期待你的回复。
pmbao5281 2013-11-12
  • 打赏
  • 举报
回复
解决了,用海思的鼠标层刷鼠标就可以了,不用QT来刷鼠标
pmbao5281 2013-09-26
  • 打赏
  • 举报
回复
再顶一下,大侠们给点指引吧
pmbao5281 2013-09-25
  • 打赏
  • 举报
回复
别沉啊!自顶下!等待大侠出现!

16,203

社区成员

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

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