• 6640阅读
  • 21回复

[提问]QT5 屏幕旋转90度 [复制链接]

上一主题 下一主题
离线mu_de_yu
 

只看楼主 倒序阅读 楼主  发表于: 2016-06-03
大虾们,关于QT5实现ARM板程式界面旋转90度,您有何高见?
离线froxy

只看该作者 1楼 发表于: 2016-06-13
你的可以旋转屏幕了吗?
离线z609932088

只看该作者 2楼 发表于: 2016-06-13
如要要是画的的话,到时可以实现,问题是,程序旋转没有什么意义啊,你完全在设计的时候就设计成旋转以后的,如果是要旋转系统的,那你可以查查Windows的api看看
有阳光的地方就是青春
离线mu_de_yu

只看该作者 3楼 发表于: 2016-08-31
暂时搁置这个问题了,我的需求是:嵌入式板子的屏本来是长方形的,一般都会横着放,现在要求竖着放,所以画面也要旋转90度,希望有经验的大侠指点一二,小弟不胜感激
离线mu_de_yu

只看该作者 4楼 发表于: 2017-01-17
这个问题搁置了好久,今天终于找到了一种解决办法:
主要思路是将所有项目界面加载到QGraphicsScene,再进行旋转操作。直接上代码
#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();
}
效果图如下:




离线mu_de_yu

只看该作者 5楼 发表于: 2017-01-17
经测试,移植后也可以用,切换画面流畅度正常,测试代码在这里 Qt5RotatScreenTest.rar (6 K) 下载次数:73
离线froxy

只看该作者 6楼 发表于: 2017-01-17
这种 方法在PC上调试感觉好不友好
离线mu_de_yu

只看该作者 7楼 发表于: 2017-01-18
回 froxy 的帖子
froxy:这种 方法在PC上调试感觉好不友好 (2017-01-17 14:49) 

哈哈,我是为了方便截图,具体调试是要到ARM板上的,做这种效果也是嵌入式需求的
离线mu_de_yu

只看该作者 8楼 发表于: 2017-01-18


ARM板运行效果图800*600:
离线disongshu

只看该作者 9楼 发表于: 2017-01-18
    
离线mu_de_yu

只看该作者 10楼 发表于: 2017-01-18
此方法缺点:
若某个窗口与主窗口没有父子关系,这个窗口没有添加到scene里,那么显示这个窗口时就不会同步转屏

离线kh99827765

只看该作者 11楼 发表于: 2017-02-07
同样使用的这种方法,现在遇到一个问题是,有多个弹出的窗口,置顶的问题。比如现在有三个窗口同时显示,三个是重叠的,都设置了置顶,点击最顶上的按钮时,点击不住。不知道你遇到没?
离线shf1986

只看该作者 12楼 发表于: 2017-02-10
w->setRotation(90);    
就这一句吧,学习了......
QQ:173409750
Atmel SAMA5D3x(QQ群:476153000)
TI AM335x(QQ群:275644633)
Qualcomm/NXP/Freescale iMX6(QQ群:47768065)
嵌入式Qt、MySQL(QQ群:437438881)
离线mu_de_yu

只看该作者 13楼 发表于: 2017-02-14
回 shf1986 的帖子
shf1986:w->setRotation(90);    
就这一句吧,学习了...... (2017-02-10 15:40) 

离线mu_de_yu

只看该作者 14楼 发表于: 2017-02-14
回 kh99827765 的帖子
kh99827765:同样使用的这种方法,现在遇到一个问题是,有多个弹出的窗口,置顶的问题。比如现在有三个窗口同时显示,三个是重叠的,都设置了置顶,点击最顶上的按钮时,点击不住。不知道你遇到没? (2017-02-07 15:18) 

应该是焦点focus停留在其他两个中某个顶层窗口上,没有移出来造成的结果。你在不转屏情况下,试下也是会这样吗?
离线kh99827765

只看该作者 15楼 发表于: 2017-02-22
回 mu_de_yu 的帖子
mu_de_yu:应该是焦点focus停留在其他两个中某个顶层窗口上,没有移出来造成的结果。你在不转屏情况下,试下也是会这样吗? (2017-02-14 09:26) 

不转屏的情况下还没有试过,现在移植QT5遇到一个新问题,设置QT_QPA_EGLFS_ROTATION=90 屏幕可以正常的旋转,但是触摸屏不跟着旋转,不知道大侠遇到过这种情况没?
离线mu_de_yu

只看该作者 16楼 发表于: 2017-02-28
回 kh99827765 的帖子
kh99827765:不转屏的情况下还没有试过,现在移植QT5遇到一个新问题,设置QT_QPA_EGLFS_ROTATION=90 屏幕可以正常的旋转,但是触摸屏不跟着旋转,不知道大侠遇到过这种情况没? (2017-02-22 11:47) 

屏幕旋转,触摸屏不转?什么意思?能拍个照片吗?
离线hejiang177

只看该作者 17楼 发表于: 2017-08-10
回 mu_de_yu 的帖子
mu_de_yu:ARM板运行效果图800*600:[图片]
 (2017-01-18 09:18) 

兄弟,你的ARM是用的什么型号的平台呀?QT是什么版本的,正准备入手搞一个产品,由于才接触QT,不知哪个比较好?望回复,谢谢!
老是要密码
离线dongshui

只看该作者 18楼 发表于: 2017-10-16
好极了,我正需要
离线自强不吸

只看该作者 19楼 发表于: 2017-10-16
回 hejiang177 的帖子
hejiang177:兄弟,你的ARM是用的什么型号的平台呀?QT是什么版本的,正准备入手搞一个产品,由于才接触QT,不知哪个比较好?望回复,谢谢! (2017-08-10 09:22) 

看你是什么需求了,性能有高有低
自强不吸!
离线极左狂徒

只看该作者 20楼 发表于: 01-12
如果是linux平台,把启动脚本改为:
XXX -qws -display Transformed:Rot90
离线ringsp

只看该作者 21楼 发表于: 05-06
回 极左狂徒 的帖子
极左狂徒:如果是linux平台,把启动脚本改为:
XXX -qws -display Transformed:Rot90 (2018-01-12 21:46) 

这是解决屏幕硬件横竖问题最彻底的办法
快速回复
限100 字节
 
上一个 下一个