簡體   English   中英

如何使用Linux FrameBuffer旋轉Qt5應用程序?

[英]How to rotate a Qt5 application using the linux framebuffer?

我有一個直接在linux幀緩沖區(沒有x-Windows)上運行的嵌入式linux應用程序。 現在,我們必須將顯示器物理旋轉180度。 如何使我的Qt應用程序旋轉以使其不會倒掛? 我看到了使用以下選項的參考:

 -platform linuxfb:fb=/dev/fb0:rotation:180 

但是,旋轉選項似乎被忽略了。

在Ubuntu服務器16.04.6上使用Qt 5.9.2

您可以在應用程序級別處理它。 使用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注意=而不是: Edit:但這對我也沒有影響。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM