我有一个使用 Qt 5.9 和 Weston 的嵌入式设备。Weston 必须使用 fbdev 后端(原因超出范围)和需求
transform=90
在其输出部分,否则屏幕旋转。它运行良好,但我无法在 Qt 中获得合适的屏幕尺寸。为了在 Qt 5.8 中全屏运行我的应用程序,我使用了:
auto geometry = QGuiApplication::screens().first()->geometry();
view.setGeometry(geometry);
没关系。使用 Qt 5.9,屏幕会报告其大小已转置,因此我必须使用
auto geometry = QGuiApplication::screens().first()->geometry();
geometry = geometry.transposed();
view.setGeometry(geometry);
这再次运行良好,但应用程序不再是可移植的。我也在其他平台上使用它,在没有转置的情况下都可以正常工作。
看着我看到的韦斯顿日志
fbdev output 480×854 px
这对应于我现在在 Qt 中得到的。但是如何正确检测由 引起的旋转transform=90
?