一、作业1
【Headers / widget.h】:
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QListWidget>
#include <QStackedWidget>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void addItem(const QString &label);private slots:void itemDoubleClicked(QListWidgetItem *item);void setCurrentIndex(int index);private:Ui::Widget *ui;int page;
};
#endif // WIDGET_H
【Sources / widget.cpp】:
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);connect(ui->listWidget, &QListWidget::itemDoubleClicked, this, &Widget::itemDoubleClicked);
}Widget::~Widget()
{delete ui;
}void Widget::addItem(const QString &label)
{ui->listWidget->addItem(label);
}void Widget::itemDoubleClicked(QListWidgetItem *item)
{QString itemText = item->text();if(itemText == "第一页"){ui->stackedWidget->setCurrentIndex(0);}else if(itemText == "第二页"){ui->stackedWidget->setCurrentIndex(1);}else if(itemText == "第三页"){ui->stackedWidget->setCurrentIndex(2);}
}void Widget::setCurrentIndex(int index)
{ui->stackedWidget->setCurrentIndex(index);
}
【Sources / main.cpp】:
#include "widget.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}