一、作业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_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
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();
}