QStackedWidget

来源:互联网 发布:软件开发界面 编辑:程序博客网 时间:2024/05/27 20:34

堆栈窗口是把许多窗口堆在一起,一般常与列表框QListWidget和QComboBox配合使用
这里写图片描述
左边是QListWidget,当点击QListWidget的item时,会出来不同的窗口。

 setWindowTitle(tr("StackedWidget"));    list =new QListWidget(this);    list->insertItem(0,tr("Window1"));    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);    mainLayout->setSpacing(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)));

QListWidget的currentRowChanged()信号与QStackedWidget的setCurrentIndex(int)的槽函数连接,实现选择显示窗体。