【Qt】StackedWidget

来源:互联网 发布:警官证在淘宝上怎么搜 编辑:程序博客网 时间:2024/06/08 16:37

一个简单的堆栈窗口类:

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

 

#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(){}


 

结果展示:

0 0
原创粉丝点击