qt linux 横屏,linux Qt4.8屏幕旋转(横屏、竖屏)

本文介绍了在Linux环境下使用Qt4.8实现屏幕旋转,从而实现横屏和竖屏切换的两种方法。一种是通过QGraphicsView进行旋转,另一种是利用QWSDisplay::setTransformation API并在Qt编译时加入特定参数。在QApplication的启动脚本中设置QWS_DISPLAY参数,并通过QWSDisplay::setTransformation函数调整屏幕转动,同时连接resized信号以更新界面状态。注意,屏幕旋转后文字大小可能变化,需要适当调整字体设置。
摘要由CSDN通过智能技术生成

linux下要实现应用程序屏幕可旋转,也就是可切换横屏竖屏,可参考:

方法一:利用 QGraphicsView 实现旋转,参照另一篇文章QGraphicsView旋转(横屏竖屏)

方法二:利用API QWSDisplay::setTransformation 完成界面整体的旋转,为此,需在 qt 编译 config时加上参数:

-qt-gfx-transformed -qt-gfx-linuxfb

在 Qt 启动脚本 qtopia4 加上参数:

export QWS_DISPLAY="Transformed"

然后使用 QWSDisplay::setTransformation 设置,setTransformation 经过一系列转换和发送处理之后,会到 qapplication_qws.cpp static void setScreenTransformation(int screenNo, int transformation),再调用 void QApplicationPrivate::setScreenTransformation,再通过 setScreenTransformation 调用 qws_setScreenTransformation 调到 QTransformedScreen::setTransformation,在这个函数中会与物理设备做转换,QApplicationPrivate::setScreenTransformation会再调用一些函数更新界面,并调用 QApplication::desktop() 发送 resized 信号,至此旋转完成,代码可参考 demo :

#include "MainWindow.h"

#inc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值