//头文件
#include <QWidget>
#include <QListWidget>
#include <QStackedWidget>
#include <QLabel>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
QListWidget *listWidget;
QStackedWidget *stacked;
QLabel *lab;
QLabel *lab1;
QLabel *lab2;
};
//源文件
#include "widget.h"
#include <QHBoxLayout>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
listWidget = new QListWidget;
listWidget->insertItem(0,"Window1");
listWidget->insertItem(1,"Window2");
listWidget->insertItem(2,"Window3");
//三个堆栈窗体
lab = new QLabel("坑爹");
lab1 = new QLabel("坑儿子");
lab2 = new QLabel("找你妹");
//新建一个堆栈窗体对象,堆栈窗体包含三个窗体
stacked = new QStackedWidget;
stacked->addWidget(lab);
stacked->addWidget(lab1);
stacked->addWidget(lab2);
//将QListWidget的currentRowChanged信号与堆栈窗体setCurrentIndex槽函数联系起来,实现按选择显示窗体
connect(listWidget,SIGNAL(currentRowChanged(int)),stacked,SLOT(setCurrentIndex(int)));
QHBoxLayout *mainLayout = new QHBoxLayout(this);
mainLayout->addWidget(listWidget);
mainLayout->addWidget(stacked,0,Qt::AlignHCenter);
mainLayout->setStretchFactor(listWidget,1);
mainLayout->setStretchFactor(stacked,3);
}
Widget::~Widget()
{
}
页面切换使用堆栈窗体
最新推荐文章于 2022-06-12 20:31:13 发布