我代表我的同事问我是否可以轮换整个QT5(QT 5.6.1-1)应用程序窗口。我们使用EGLFS作为运行Linux framebuffer的Sitara TI AM335X平台的后端。
目前的情况是这样的:我们有一些应用程序通常从最终用户的角度旋转90度。作为临时解决方案,我的同事(此应用程序的开发人员)正在旋转此窗口中的每个元素以实现正确的视觉效果。不幸的是,这种旋转花费了大量的CPU时间。
我的问题是 - 是否可以顺时针转动整个窗口?我的意思是可以在EGLFS或QT5级别上进行,而无需旋转窗口中的每个元素吗?
我尝试更换屏幕的x-y尺寸(800x480),但没有成功。我也看了一下linux内核驱动程序源代码,我看不到旋转整个屏幕的可能性。我正在考虑在内存中创建另一个缓冲区,我可以通过旋转将数据复制到目标内存,但我不确定它是否是个好主意。
有什么想法吗?
答案 0 :(得分:0)
将QT_QPA_EGLFS_ROTATION
环境变量设置为90
或-90
。请参阅the documentation。
答案 1 :(得分:0)
在版本5.7.x之前,EGLFS平台上的轮换受到QTBUG-39959错误的影响,因此忽略了旋转变量。
该错误已在5.8版本中修复。