zl程序教程

您现在的位置是:首页 >  系统

当前栏目

【正点原子Linux连载】 第三章 Qt优化摘自【正点原子】ATK-DLRV1126Qt开发环境搭建手册

LinuxQt开发 环境 优化 搭建 手册 原子
2023-09-11 14:20:38 时间

1)实验平台:正点原子RV1126 Linux开发板
2)平台购买地址:https://detail.tmall.com/item.htm?id=692176265749
3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html

第三章 Qt优化

3.1 Qt使用DRM API

默认出厂系统Qt使用Linuxfb(/dev/fb0)作为设备,Linuxfb效率低且未优化,所以会出现图像撕裂的现象。如滑动屏幕时,由于大量数据需要更新,图像于是就出现撕裂的情况。为了避免这种情况,我们可以设置使用DRM API渲染。这样图像就不会出现撕裂的情况。导出下面的环境变量设置DRM API渲染。然后重启Qt应用程序即可。注意设置此环境变量会占用linuxfb,其它程序再也使用不了linuxfb。

export QT_QPA_FB_DRM=1
经笔者测试使用此环境会出现矩形绘制半透明圆角矩形无法解释的阴影,所以出厂系统默认以美化界面为准,设置非DRM API渲染。如果你需要流畅界面,建议可以使用此环境,但是你的界面就不要使用半透明圆角矩形了,你可以使用圆角矩形。此现象出现在qml上面,相信qwidget也是这个情况。如果你知道如何解决这个bug,或者如何避免这种情况请联系笔者QQ1252699831共同探讨,感谢!

3.2 Qt旋转屏幕

导出下面的环境变量,再重新启动Qt应用程序,可以旋转Qt显示的方向。
export QT_QPA_PLATFORM=linuxfb:rotation=90
或者在你的应用后面加上参数如下,也可以旋转Qt显示的方向。
Qt应用程序 -platform linuxfb:rotation=90

旋转后的屏幕触摸不准确,先退出你的Qt应用程序,你可以使用指令ts_calibrate -r 1等方法校准。默认会保存校准文件到/etc/pointercal。如需要恢复原来的竖屏触摸,删除这个校准文件/etc/pointercal即可!