立即注册
登录
电子工程网
新闻
新品
文章
下载
视频
工具
论坛
研讨会
空间
落风的个人空间
https://www.eechina.com/space-uid-138363.html
[收藏]
[复制]
[RSS]
空间首页
博客
主题
留言板
个人资料
论坛
BBS
我的空间
好友
帖子
收藏
道具
勋章
任务
博客
迅为-iMX6ULL开发板-Qt窗口旋转
已有 345 次阅读
2020-10-9 10:26
|
imx6ull开发板
本章节使用的资料已经放到了开发板网盘资料中,路径为: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 中,才能达到旋转的效果。
路过
鸡蛋
鲜花
握手
雷人
收藏
邀请
举报
全部
作者的其他最新博客
•
迅为RK3399开发板瑞芯微64位六核Linux安卓8.1国产AI人工智能
•
迅为RK3399开发板瑞芯微64位六核Linux安卓8.1国产AI人工智能主板
•
勇敢牛牛不怕困难,嵌入式之学习路线了解,冲
•
迅为IMX6ULL开发板Linux 4G通信实验
•
迅为IMX6ULL开发板Linux RS232/485驱动实验(下)
•
迅为4412开发板实验_Makefile编译(下)
评论 (
0
个评论)
您需要登录后才可以评论
登录
|
立即注册
评论
落风
加为好友
给我留言
打个招呼
发送消息
关于我们
-
服务条款
-
使用指南
-
站点地图
-
友情链接
-
联系我们
电子工程网
© 版权所有
京ICP备16069177号
| 京公网安备11010502021702
返回顶部