嵌入式学习小组
直播中

李璇

7年用户 161经验值
私信 关注

在yocto Qt5文件系统中使用程序旋转Qt窗口

在yocto Qt5文件系统中使用程序旋转Qt窗口

回帖(1)

李伟

2020-12-31 13:55:54
  本章节介绍在 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 中,才能达到旋转的效果。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分