Qt程序界面旋转,通常有两种方式:
方式一:
qt需要支持旋转,在编译嵌入式qt库(如qte生成的Lib)的时候要加上-qt-gfx-transformed,-qt-gfx-linuxfb选项;
启动Qt程序时加上参数 ./qtdemo -qws -display "Transformed:Rot180",qtdemo 应用程序界面会整体旋转180度。
方式二:
通过Qt代码实现,在Qt程序main.cpp文件中使用QGraphicsScene和QGraphicsProxyWidget类实现程序界面整体旋转,main.cpp代码如下
#include "mainwindow.h"
#include <QApplication>
#include <QStyleFactory>
#include <QTextCodec>
#include <QGraphicsView>
#include <QGraphicsProxyWidget>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
QGraphicsScene *scene = new QGraphicsScene;
QGraphicsProxyWidget *w1 = scene->addWidget(&w);
w1->setRotation(180); //旋转180, 参数可选0,90,180,270
QGraphicsView *view = new QGraphicsView(scene);
view->setWindowFlags(Qt::FramelessWindowHint);
view->centerOn(0,0);
view->resize(800, 480); //显示器尺寸
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->show();
return a.exec();
}