距离上次发博文已经有一段不短的时间, 很不好意思, 一直忙于Creator翻译、Qt书籍翻译, 对博文撰写有些懈怠,现在其他事情都暂告段落, 笔者决心恢复写博文的热情, 争取多记录一些Qt的经验。
今天翻看以前写的blog, 发现一篇关于QtE屏幕动态旋转的文章(俺写的,汗),结合今天碰巧看到的代码一对照, 发现原来QtE是可以支持屏幕动态旋转的, 只是上次没有发现而已!原来自己写了一篇很傻的blog还不自知… 这里只好补上一篇简单的blog以做修正。
在 QtE程序动态旋转的不完全实现 一文中笔者讲到QtE自带了支持旋转的gfxdriver插件“transformed”,通过编译src/plugins/gfxdrivers/transformed目录可以得到这个插件。进一步在启动程序时设置环境变量可以指定QtE载入这个插件:
export QWS_DISPLAY=transformed:::rot90:0 #rot90表示顺时针旋转90度
在QtE内部会使用QTransformedScreen这个类替代普通的QScreen进而实现屏幕旋转。
而QWSDisplay类提供了一个静态方法setTransformation, 函数原型:
void QWSDisplay::setTransformation ( int transformation, int screenNo = -1 ) [static]
这个函数就是笔者先前没有发现的宝藏! 第一个参数给0、1、2、3代表旋转0、90、180、270度。这个函数在Qt文档中隐藏得实在太深了, 如果你不是非常有目的性地去仔细查找,是不太可能留意到这个函数的。(而笔者是先看到代码才找到这个函数的文档, 其实很负责任的讲,俺觉得即使Qt文档中确实出现了这个函数的原型, 也不能说这个函数是个公开的API, 因为文档实在是太隐蔽了。。。。让人非常汗)
有几点需要注意的地方:
- 该函数只能在server程序中调用, 在client中调用有时会没有作用(笔者的测试是有时管用有时不管用,建议只在server里调用)
- 该函数的作用域是整个QtE环境, 包括server的widgets和client的widgets
- 启动server时必须加载transformed驱动, 不然调用setTransformation函数是没用的。
综上, 如果你想实现的是某个widget的旋转, 可能该方法就不适用了。笔者的建议是改用QGraphicsView或QML来实现。
来源:http://blog.sina.com.cn/s/blog_640531380100vkl2.html
分享到:
相关推荐
qt/embedded入门教程,适合初学者。我已经把它转成了pdf格式
这是Qt/E的移植的环境变量,是关于Qt/E 3.3.8的,有触摸屏环境变量和移植环境变量
一个基于Qt/Embedded应用程序集成桌面的设计与实现
QT/Embedded環境的建置,包含QT-Eclipse integration environment的建置
基于QT/Embedded的媒体播放器的设计与实现 基于QT/Embedded的媒体播放器的设计与实现 基于QT/Embedded的媒体播放器的设计与实现
首先根据ARM9开发平台与GU I(图形用户界面)软件开发环境Qt/Embedded2. 3. 7,结合 实例介绍在嵌入式Linux系统上Qt/Embedded的编程方法,阐述了基于嵌入式L inux图形界面的开发 过程并具体描述Qt/Embedded图形系统的...
Qt/Embedded的嵌入式导航电子地图实现
基于ARM-Linux的Qt/Embedded的研究与实现,郑阳吉,,本文研究了Qt的特点、发展历程等,在此基础上以一个简单的实例阐述了Qt的开发过程。研究了Qt在嵌入式领域的工具Qt/Embedded,包括硬件�
基于Qt/Embedded的浏览器在电视芯片上的开发,王妍,,本文通过研究Qt/Embedded和基于嵌入式设备的浏览器,提出了一种在电视芯片PLM3K平台上开发的基于Qt/Embedded的浏览器的实现方案,该方案不
基于Qt/Embedded的网络通信设计dfd adfa dfadf adfadadfasdfadfadfadfad
QT/EMBEDDED图形化开发.PDF
《基于Qt/Embedded 的嵌入式GUI 开发环境建》能够轻松帮助你在虚拟机下搭建好平台
基于Qt/Embedded的GUI应用程序的实现,学术论文,有一定参考价值。
Qt/Embedded中触摸屏的研究与实现,郑阳吉,,Qt/Embedded中以mouse设备的形式提供了对触摸屏的支持。本课题研究了Qt/Embedded中触摸屏的处理流程,在此基础上,介绍了WACOM触摸屏在Qt4.5.0
qt-embedded-2.3.8.tar.gz源码
QT/EMBEDDED下GUI应用程序开发.PDF
Qt/Embedded4.5.3移植过程,有参考价值,我开始移植弄了好久
重点讲述了Qt/Embedded下的应用程序以及如何将应用程序移植到Qtopia桌面系统
基于Qt/Embedded的喷码机在线编辑系统的设计与实现,卢超,刘雪冬,本文针对我国目前的喷码机信息编辑软件存在的功能单一、操作繁琐等问题,提出一种基于Qt/Embedded的在线编辑软件的实现方法。该系统�
嵌入式Linux的Qt/Embedded无闪烁绘图.pdf