Qt 屏幕旋转问题
2023-12-27 11:49:40
Qt4屏幕旋转(LinuxFB)
已验证!
在启动脚本中加:
#!/bin/bash
sync
export QWS_DISPLAY="LinuxFB:mmWidth220:0"
# TODO:运行你的Qt程序
Qt 5屏幕旋转,方法1
注意该方法,本人未验证!
要在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等),则需要使用相应的方法来进行屏幕旋转。
Qt 5屏幕旋转,方法2
注意该方法,本人未验证!
直接应用程序改:
#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();
}
文章来源:https://blog.csdn.net/p309654858/article/details/135236971
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!