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();

实际效果感觉有明显的切换痕迹,不知如何优化

相关推荐
小豆庄1 小时前
视频脱敏引擎的追踪难题:转场误判定、ID撞号和淡入窗口
qt·算法·目标检测·音视频·视频·敏捷流程
小灰灰搞电子4 小时前
Qt 中使用 QSettings 存储结构体数据详解
开发语言·qt
LaoWaiHang19 小时前
关于Qt中鼠标左键事件被子控件截留的处理
qt
初阳7851 天前
【基于Qt5仿音乐播放器(一)】——项目准备
qt·1024程序员节
kaixin_learn_qt_ing1 天前
Qt开发工程师
qt
ShineWinsu2 天前
对于Qt:信号与槽的解析
c++·qt·gui·lambda·信号·信号与槽·槽函数
努力实干2 天前
Qt/C++ 模块化设计与工程组织
开发语言·c++·qt
Lhan.zzZ2 天前
Qt:动态库模块框架设计
开发语言·c++·qt
qq_401700413 天前
TCP 长连接、心跳包与断线自动重连设计:工业级通信的“不死鸟”架构
网络·qt·tcp/ip
dyxal4 天前
A2A 协议 v1.0 完全指南:方法名、Agent Card、三种绑定与 FastAPI 实战
开发语言·qt·fastapi