我有一个直接在 Linux 帧缓冲区(无 x-Windows)上运行的嵌入式 Linux 应用程序。现在我们必须将显示屏物理旋转 180 度。如何让我的 Qt 应用程序旋转,使其不会出现颠倒?我看到参考使用以下选项:
-platform linuxfb:fb=/dev/fb0:rotation:180
然而,旋转选项似乎被忽略了。
在 Ubuntu 服务器 16.04.6 上使用 Qt 5.9.2
您可以在应用程序级别处理它。使用 QML 这很容易,但是使用 QWidgets 我能想到的最好的办法就是在QGraphicsScene
并像这样旋转它:
#include "mainwindow.h"
#include <QApplication>
#include <QGraphicsScene>
#include <QGraphicsView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
QGraphicsScene *scene = new QGraphicsScene();
QGraphicsView *view = new QGraphicsView();
view->setGeometry(w.geometry());
view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
scene->addWidget(&w);
view->setScene(scene);
view->show();
view->rotate(180);
//w.show();
return a.exec();
}
看起来有点麻烦,不过你可以尝试一下。
我也认为正确的语法是-platform linuxfb:fb=/dev/fb0:rotation=180
请注意=
代替:
Edit:但这对我来说也没有什么区别。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)