笔者最近想在arm开发板上,开发一个应用程序,经过网上查询发现qt作为跨平台开发软件很不错,于是便选择了qt开发,笔者的qt版本是4.8.6的。由于arm的主频太低,在arm上进行开发编译,效率会大大下降,因此选择了交叉编译。那么问题就来了:
在PC上编译好arm程序后,在arm上运行,运行参数为-qws,但是笔者郁闷的发现,界面上出现了两个鼠标。一个是qt自身的鼠标,另一个是系统的鼠标。当点击移动鼠标时,系统鼠标会擦除其他界面,而qt鼠标会擦除系统桌面。
笔者经过一系列的试验,发现出现,对于移动鼠标会擦除界面的问题,根本原因是Linux下,两个界面在显存上产生了竞争。
解决方案:
方案一:关闭原Linux桌面,用命令行启动Linux,然后运行qt程序,保证Linux系统上仅存在qt一个界面程序。
方案二:在arm嵌入式Linux上安装qt开发环境,然后编译源程序,此为本地编译。
这两个种方法各有优劣,采用方案一,无法使用嵌入式桌面程序。方案二,开发效率太低。好的解决方案是两种方案结合起来,前期使用方案一开发,最后再使用方案二编译最后版本。