QStringListModel用法示例

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QStringListModel>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;
    QStringListModel*       m_pModel;
    QStringList             m_lstItem;
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QFileDialog>
#include <QStandardPaths>
#include <QUuid>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    m_pModel = new QStringListModel(this);
    ui->listView->setModel(m_pModel);
}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::on_pushButton_clicked()
{
    int nRow = m_pModel->rowCount();
    m_pModel->insertRow(nRow);

    QModelIndex index = m_pModel->index(nRow);
    QString strItem = QUuid::createUuid().toString();
    m_pModel->setData(index, strItem);
}
posted @ 2025-04-18 16:00  上车去广西  阅读(20)  评论(0)    收藏  举报