已验证!
在启动脚本中加:
#!/bin/bash
sync
export QWS_DISPLAY="LinuxFB:mmWidth220:0"
# TODO:运行你的Qt程序
注意该方法,本人未验证!
要在Qt 5.12中使用Linux Framebuffer (LinuxFB)进行屏幕旋转,你可以通过设置环境变量来实现。以下是具体的解决方案和相关代码:
在终端中,使用以下命令设置环境变量():
export QT_QPA_FB_ROTATION=90
这将将环境变量QT_QPA_FB_ROTATION设置为90度,表示屏幕旋转90度。
在你的Qt应用程序代码中,确保在创建QApplication对象之前设置环境变量。例如,在main函数的开头添加以下代码:
#include <QApplication>
#include <QScreen>
int main(int argc, char *argv[])
{
// 设置环境变量
qputenv("QT_QPA_FB_ROTATION", "90");
QApplication app(argc, argv);
// 其他应用程序代码
return app.exec();
}
这将在应用程序启动时设置环境变量,确保屏幕以90度旋转。
请注意,这种方法仅适用于使用Linux Framebuffer作为Qt的平台插件的情况。如果你使用的是其他平台插件(例如EGLFS、XCB等),则需要使用相应的方法来进行屏幕旋转。
注意该方法,本人未验证!
直接应用程序改:
#include <QApplication>
#include <QGraphicsView>
#include <QGraphicsProxyWidget>
#include "./form.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Form *form = new Form; //项目主窗口
QGraphicsScene *scene = new QGraphicsScene;
QGraphicsProxyWidget *w = scene->addWidget(form);
w->setRotation(90);
QGraphicsView *view = new QGraphicsView(scene); view->resize(810, 610); view->show();
return a.exec();
}