当前位置:网站首页 > 网络设备调试 正文 网络设备调试

QT的堆叠窗口

南京泽同信息 2025-11-24 22:01:44 网络设备调试 37 ℃ 0 评论

目录

一、创建ui界面的窗口

二、创建容器来存放堆叠布局

三、包含堆叠窗口的头文件

四、定义智能指针(系统自己管理内存分配和释放,防止忘记释放或者过载导致奔溃)

五、实例化智能指针

六、实例化布局

七、把智能指针对应的窗口地址存入堆叠布局里(get是要访问原始的地址)

八、通过按钮或者其他信号进行堆叠窗口的切换


一、创建ui界面的窗口

二、创建容器来存放堆叠布局

        我用的frame,我在ui界面摆放了一个frame的控件,之后的窗口就会在这个范围里进行显示。

三、包含堆叠窗口的头文件

#include "son_interface_1.h"

四、定义智能指针(系统自己管理内存分配和释放,防止忘记释放或者过载导致奔溃)

//std::unique_ptr<文件类名> 窗口名;
std::unique_ptr<son_interface_1> son_interface_1_;//智能指针,son_interface_1,std::unique_ptr是独占的智能指针,然后是一个对象,然后通过std::make_unique来创建

QStackedLayout *layout_;//设置堆栈布局

五、实例化智能指针

//窗口名= std::make_unique<文件类名>();
son_interface_1_ = std::make_unique<son_interface_1>();//std::unique_ptr是独占的智能指针,然后是一个对象,然后通过std::make_unique来创建

六、实例化布局

layout_ = new QStackedLayout(ui->frame_2);

七、把智能指针对应的窗口地址存入堆叠布局里(get是要访问原始的地址)

layout_->addWidget(son_interface_1_.get());//添加到layout_

八、通过按钮或者其他信号进行堆叠窗口的切换

void interface_1::on_pushButton_clicked()
{
    layout_->setCurrentWidget(son_interface_1_.get());//用于在一个堆叠小部件中切换当前显示的子小部件
}

顺序根据(七)添加顺序

你可能想看:

版权说明:如非注明,本站文章均为 ZBLOG 原创,转载请注明出处和附带本文链接

请在这里放置你的在线分享代码
Copyright Your WebSite.Some Rights Reserved.
微信咨询&联系客服
QQ:2586422870
在线时间
9:00 ~ 23:00