当前位置: 首页 > news >正文

QStackedWidget使用整理

需求1做一个主窗口中有一个视频区域,平时放视频,特定条件下显示图片

stackWidget = new QStackedWidget((QWidget *)parent_);
            QWidget *w1,*w2;
            w1 = new QWidget();
            w1->setObjectName("video");
            w2 = new QWidget();
            w1->setObjectName("linemap");
            stackWidget->setObjectName("stackWidget");
            stackWidget->addWidget(w1);
            stackWidget->addWidget(w2);
            stackWidget->setGeometry(QRect(item->x(), item->y(), item->w(), item->h()));

第一个页面放视频,第二个页面显示图片

                lineMap = w2;
                Qt::WindowFlags flags = 0;//this->windowFlags();

                flags |= Qt::CustomizeWindowHint;
                flags |= Qt::FramelessWindowHint;
                lineMap->setWindowFlags(flags); //不是必需
                lineMap->setAutoFillBackground(true);//必需要加

设置QWidget显示背景图

    QPixmap pixmap(CONFIG->resource_path + QString("line%1.png").arg(id));
    QPalette palette;
    palette.setBrush(lineMap->backgroundRole(), QBrush(pixmap));
    lineMap->setPalette(palette);

需求2 全屏来回切换显示

    stackedWidget = new QStackedWidget(NULL);
    atsAWidget = new QWidget(NULL);
    atsBWidget = new QWidget(NULL);
    atsCWidget = new QWidget(NULL);
    stackedWidget->addWidget(atsAWidget);
    stackedWidget->addWidget(atsBWidget);
    stackedWidget->addWidget(atsCWidget);
    stackedWidget->setCurrentIndex(0);

    Qt::WindowFlags flags = 0;//this->windowFlags();
    flags |= Qt::CustomizeWindowHint;
    flags |= Qt::FramelessWindowHint;
    flags |= Qt::Window;

    atsAWidget->setWindowFlags(flags);
    atsBWidget->setWindowFlags(flags);
    atsCWidget->setWindowFlags(flags);

    atsAWidget->setGeometry(0,0,1920,1080);

    atsBWidget->setGeometry(0,0,1920,1080);

    atsCWidget->setGeometry(0,0,1920,1080);

    QVBoxLayout *layout = new QVBoxLayout();
    layout->addWidget(stackedWidget);
    this->setLayout(layout);
    stackedWidget->setObjectName("stackedWidget");
    atsAWidget->setObjectName("atsAWidget");
    atsBWidget->setObjectName("atsBWidget");
    atsCWidget->setObjectName("atsCWidget");
    atsAWidget->showFullScreen();//全屏显示,3个里只能选一个先,显示哪个,
到要切哪个页全屏时

        stackedWidget->setCurrentIndex(2);
        atsCWidget->showFullScreen();
实际效果感觉有明显的切换痕迹,不知如何优化

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 力扣刷题(复习版)
  • 7-2 求矩阵的最大值(设惟一)
  • Java底层堆内存、GC等知识点阐述
  • 8、引用
  • 【机器学习】CNN在计算机视觉中的应用
  • PowerShell脚本编写:自动化Windows开发工作流程
  • Python(PyTorch)物理变化可微分神经算法
  • 北京博科测试
  • Java并发编程12
  • es 7.17.23安装ik插件启动失败,access denied,Permission
  • uniapp开发微信小程序调用微信支付
  • 宠物空气净化器吸猫毛有用吗?希喂、美的、霍尼韦尔三款亲测分享
  • C++类和对象(3)——this指针
  • Redis中的缓存穿透、缓存击穿、缓存雪崩(面试版)
  • matlab 创建复数数组
  • 深入了解以太坊
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • js算法-归并排序(merge_sort)
  • Mybatis初体验
  • PAT A1050
  • PV统计优化设计
  • Terraform入门 - 3. 变更基础设施
  • Transformer-XL: Unleashing the Potential of Attention Models
  • zookeeper系列(七)实战分布式命名服务
  • 关于 Cirru Editor 存储格式
  • 基于HAProxy的高性能缓存服务器nuster
  • 解析带emoji和链接的聊天系统消息
  • 如何优雅地使用 Sublime Text
  • 山寨一个 Promise
  • 使用 QuickBI 搭建酷炫可视化分析
  • 使用SAX解析XML
  • 试着探索高并发下的系统架构面貌
  • 用jquery写贪吃蛇
  • 智能网联汽车信息安全
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​zookeeper集群配置与启动
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • # centos7下FFmpeg环境部署记录
  • #DBA杂记1
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (二十三)Flask之高频面试点
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (黑马C++)L06 重载与继承
  • (六)Flink 窗口计算
  • (一)Linux+Windows下安装ffmpeg
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)3D模板阴影原理
  • (自用)仿写程序