专栏中心

EEPW首页 > 专栏 > 迅为iTOP-iMX6ULL开发板-Qt窗口旋转

迅为iTOP-iMX6ULL开发板-Qt窗口旋转

发布人:daybydayi 时间:2020-10-19 来源:工程师 发布文章

本章节使用的资料已经放到了开发板网盘资料中,路径为:11_Linux 系统开发进阶\94_章节使用资料。
本章节介绍在 yocto Qt5 文件系统中使用程序旋转 Qt 窗口。在嵌入式中有时候需要竖屏显示,有时候不能修改 Qt 源码,那么可以在 Qt 应用程序中将窗口旋转 90 度。方法是将主窗口放入到 QGraphicsScene 中,然后旋转 90 度,通过 QGraphicsView 显示。子窗口通过指针来访问父窗口达到旋转的效果。
例程在文档同一目录下,实现的功能是点击主窗口工具栏的打开文件,然后弹出子窗口选择文件(选择普通文件),选择完点击确认,子窗口关闭,主窗口的 textEdit 组件会显示文件内容。
在 main.cpp 中修改主窗口的显示过程,Rotate 为主窗口类:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Rotate w;//主窗口
/*
* 旋转主窗口
*/
QGraphicsScene *scene = new QGraphicsScene;
QGraphicsProxyWidget *gpw = scene->addWidget(&w);
gpw->setRotation(90);//旋转 90 度
QGraphicsView *view = new QGraphicsView(scene);
view->showFullScreen();//全屏显示
return a.exec();
}
添加完后如图 94.1:

子窗口通过“this”指针指定父窗口将所有项目界面加载到 QGraphicsScene,创建子窗口对象时代码如下:
void Rotate::showOpenFile()
{
gf = new getfile(this);//子窗口调用 scene
gf->show();
connect(gf,SIGNAL(OK_signal()),this,SLOT(showText()));//接收子窗口发送过来的信号
}
完成后如图 94.2:

主窗口效果如图 94.3:

点击工具栏的打开文件,弹出子窗口,在子窗口中选择文件名,

显示出文件内容:

在开发板上运行时要根据屏幕大小来调整窗口尺寸。使用此方法一定要把工程中所有的窗口都放到Scene 中,才能达到旋转的效果。


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

意法半导体推出后量子密码加密解决方案,为嵌入式系统带来量子攻击防御能力

SEMICON 2025 | NI 6大半导体测试方案全解析

英伟达 2024 年营收逼近后九家无晶圆厂竞品总和

EDA/PCB 2025-03-19

WindowsCE系统开发及bootloader移植 上

视频 2009-10-27

安森美推出基于碳化硅的智能功率模块以降低能耗和整体系统成本

WindowsCE系统开发及bootloader移植 中

视频 2009-10-27

SmithChartPart1

资源下载 2007-12-22

Teledyne Adimec推出Dual CXP12平台的一系列高性能工业相机

EiceDRIVER™ 650V+/-4A高压侧栅极驱动器1ED21x7系列

嵌入式实时操作系统VxWorks介绍 上

视频 2009-10-27

瑞萨电子推出具备预验证固件的完整锂离子电池管理平台

工业以太网时间敏感网络交换机的革新之路

WindowsCE系统开发及bootloader移植 下

视频 2009-10-27

通用汽车与英伟达达成合作:将AI技术应用于自动驾驶汽车

嵌入式实时操作系统VxWorks介绍 中

视频 2009-10-27

肖特基二极管是如何工作的

SmithChartPart3

资源下载 2007-12-22

SmithChartPart2

资源下载 2007-12-22

Ring_Osc_Example

更多 培训课堂
更多 焦点
更多 视频

技术专区