QT-纯代码控件-QStackedWdiget(层叠窗体)

it2022-05-05  170

实现一个层叠窗体的功能

1.新建一个无ui界面且基类为dialog的工程

2.dialog.h添加如下头文件

//添加如下头文件 #include <QDialog> #include <QListWidget> #include <QLabel> #include <QStackedWidget>

3.代码实现

dialog.cpp

#include "dialog.h" Dialog::Dialog(QWidget *parent) : QDialog(parent) { //新建窗体设置 QListWidget * leftlist = new QListWidget(this); QStackedWidget * stack = new QStackedWidget(this); QLabel * label1 = new QLabel("第一个窗口页"); QLabel * label2 = new QLabel("第二个窗口页"); QLabel * label3 = new QLabel("第三个窗口页"); label1->setAlignment(Qt::AlignHCenter); //添加层叠窗体 stack->addWidget(label1); stack->addWidget(label2); stack->addWidget(label3); //设置列表框 leftlist->addItem("第一页"); leftlist->addItem("第二页"); leftlist->addItem("第三页"); leftlist->setGeometry(10,10,70,200); stack->setGeometry(85,10,300,200); this->resize(300,300); //响应在leftlist上的选项改变事件,即连接固定的槽函数 connect(leftlist,SIGNAL(currentRowChanged(int)), stack,SLOT(setCurrentIndex(int))); this->setWindowTitle("层叠窗体"); } Dialog::~Dialog() { }

4.效果展示


最新回复(0)