首页 > 代码库 > 【Qt】StackedWidget

【Qt】StackedWidget

一个简单的堆栈窗体类:

左側列表框会出现不同的选项,右側显示所选的不同的窗口

 

#include<QHBoxLayout>#include "stackdlg.h"StackDlg::StackDlg(QWidget *parent)    : QDialog(parent){    setWindowTitle(tr("StackedWidget"));    list=new QListWidget(this);    list->insertItem(0,tr("Window1"));//在新建的QListWidget插入3个条目    list->insertItem(1,tr("Window2"));    list->insertItem(2,tr("Window3"));    label1=new QLabel(tr("WindowTest1"));//作为堆栈窗口所需的三层窗口    label2=new QLabel(tr("WindowTest2"));    label3=new QLabel(tr("WindowTest3"));    stack=new QStackedWidget(this);//依次插入    stack->addWidget(label1);    stack->addWidget(label2);    stack->addWidget(label3);    QHBoxLayout *mainLayout=new QHBoxLayout(this);//进行布局    mainLayout->setMargin(5);//设定对话框的边距为5    mainLayout->setSpacing(5);//设定各个控件之间的距离为5    mainLayout->addWidget(list);    mainLayout->addWidget(stack,0,Qt::AlignHCenter);    mainLayout->setStretchFactor(list,1);//设定可伸缩控件    mainLayout->setStretchFactor(stack,3);    connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));}StackDlg::~StackDlg(){}


 

结果展示:

技术分享

【Qt】StackedWidget