Qt:day3

发布于:2025-03-06 ⋅ 阅读:(40) ⋅ 点赞:(0)

一、作业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();
}



网站公告

今日签到

点亮在社区的每一天
去签到