代表我的同事,我想问一下是否可以旋转整个QT5 (QT 5.6.1-1)应用程序窗口。我们使用EGLFS作为运行AM335X帧缓冲的Sitara TI Linux平台的后端。
目前的情况是这样的:我们有一些应用程序,从最终用户的角度来看,它通常被旋转90度。作为一个临时解决方案,我的同事(此应用程序的开发人员)正在旋转此窗口中的每个元素,以获得适当的视觉效果。不幸的是,这种旋转占用了大量的CPU时间。
我的问题是--有没有可能将整个窗口顺时针旋转?我的意思是,有没有可能在EGLFS或QT5级别上做到这一点,而不需要旋转窗口中的每个元素?
我尝试交换屏幕的x-y尺寸(800x480),但没有成功。我还查看了linux内核驱动程序源代码,我看不到旋转整个屏幕的可能性。我正在考虑在内存中创建另一个缓冲区,以便通过循环将数据复制到目标内存,但我不确定这是不是一个好主意。
有什么想法吗?
发布于 2017-08-30 02:50:42
将QT_QPA_EGLFS_ROTATION环境变量设置为90或-90。参见the documentation。
发布于 2018-05-29 21:48:58
EGLFS平台上的旋转在5.7.x版本之前一直受到QTBUG-39959错误的困扰,因此旋转变量被忽略。
该错误已从版本5.8修复。
https://stackoverflow.com/questions/45867502
复制相似问题