//头文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QStackedLayout>
#include <QListWidget>
#include <QHBoxLayout>
#include <QObject>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private slots:
void on_listWidget_clicked(const QModelIndex &index);
private:
Ui::Widget *ui;
QListWidget *listWidget;
QStackedLayout *sLayout;
QHBoxLayout *hLayout;
};
#endif
//源文件
#include "widget.h"
#include "ui_widget.h"
#include <QLayout>
#include <QLabel>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QListWidget *listWidget = new QListWidget();
listWidget->addItem("One");
listWidget->addItem("Two");
listWidget->addItem("Three");
QWidegt *widget1 = new QWidget();
QWidegt *widget2 = new QWidget();
QWidegt *widget3 = new QWidget();
QLabel *label1 = new QLabel("LABEL ONE", widget1);
QLabel *label2 = new QLabel("LABEL TWO", widget2);
QLabel *label3 = new QLabel("LABEL THREE", widget3);
QStackedLayout *sLayout = new QStackedLayout();
sLayout->addWidget(widget1);
sLayout->addWidget(widget2);
sLayout->addWidget(widget3);
QHBoxLayout *hLayout = QHBoxLayout();
hLayout->addWidget(listWidget);
hLayout->addLayout(sLayout);
setLayout(hLayout);
QObject::connect(listWidget, &QListWidget::currentRowChanged, sLayout, &QStackedLayout::setCurrentIndex);
}
Widget::~Widget()
{
delete ui;
}
//错误如下
编译错误:
你好,我是有问必答小助手。为了技术专家团更好地为您解答问题,烦请您补充下(1)问题背景详情,(2)您想解决的具体问题,(3)问题相关代码图片或者报错信息。便于技术专家团更好地理解问题,并给出解决方案。
您可以点击问题下方的【编辑】,进行补充修改问题。