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


    本章节使用的资料已经放到了开发板网盘资料中,路径为: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:
    <ignore_js_op>
    子窗口通过“this”指针指定父窗口将所有项目界面加载到 QGraphicsScene,创建子窗口对象时代码如
    下:
    void Rotate::showOpenFile()
    {
    gf = new getfile(this);//子窗口调用 scene
    gf->show();
    connect(gf,SIGNAL(OK_signal()),this,SLOT(showText()));//接收子窗口发送过来的信号
    }
    完成后如图 94.2:
    <ignore_js_op>
    主窗口效果如图 94.3:
    <ignore_js_op>
    点击工具栏的打开文件,弹出子窗口,在子窗口中选择文件名,
    <ignore_js_op>
    显示出文件内容:
    <ignore_js_op>
    在开发板上运行时要根据屏幕大小来调整窗口尺寸。使用此方法一定要把工程中所有的窗口都放到
    Scene 中,才能达到旋转的效果。
    <ignore_js_op>

  • 相关阅读:
    Servlet常用类
    Java库使用----xstream1.3.1
    字符串处理---统计每一行字符串当中的字符“u”个数
    读写锁
    求阶乘
    Fibonacci数列
    22.2-按照升序显示不重复的单词
    22.1-在散列集上进行集合操作
    完美世界-2015校园招聘-java服务器工程师-成都站
    运用jQuery写的验证表单
  • 原文地址:https://www.cnblogs.com/liyue3/p/13784413.html
Copyright © 2020-2023  润新知