我有一个直接在linux帧缓冲区(没有x-Windows)上运行的嵌入式linux应用程序。现在,我们必须将显示器物理旋转180度。如何使我的Qt应用程序旋转以使其不会倒挂?我看到了使用以下选项的参考:
-platform linuxfb:fb=/dev/fb0:rotation:180
但是,轮换选项似乎被忽略了。
在Ubuntu服务器16.04.6上使用Qt 5.9.2
答案 0 :(得分:4)
您可以在应用程序级别处理它。使用QML很简单,但是使用QWidgets时,我能想到的最好的办法是在QGraphicsScene
上呈现Widget并像这样旋转它:
#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
,请注意,=
而不是:
编辑:,但这对我也没有影响。