通过切换QListWidget中的项目切换QStackedWidget窗口,效果图
#include "widget.h"
#include "ui_widget.h"
#include<QListWidget>
#include<QStackedWidget>
#include<QHBoxLayout>
#include<QLabel>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//创建QListWidget和QStackedWidget控件
QListWidget * list = new QListWidget(this);
QStackedWidget * stack = new QStackedWidget (this);
//在list中加入item
list->addItem("win0");
list->addItems(QStringList({"win1","win2","win3"}));
QLabel * lb0=new QLabel("窗口0",this);
QLabel * lb1=new QLabel("窗口1",this);
QLabel * lb2=new QLabel("窗口2",this);
QLabel * lb3=new QLabel("窗口3",this);
stack->addWidget(lb0);
stack->addWidget(lb1);
stack->addWidget(lb2);
stack->addWidget(lb3);
//水平布局
QHBoxLayout * hlayout = new QHBoxLayout(this);
hlayout->setMargin(0);//控件与窗口的边距
hlayout->setSpacing(10);
hlayout->addWidget(list,1);
hlayout->addWidget(stack,3,Qt::AlignHCenter);
connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));
}