QT6(46)5.2 QStringListModel 和 QListView :列表的模型与视图的界面搭建与源代码实现

发布于:2025-06-24 ⋅ 阅读:(14) ⋅ 点赞:(0)

(154)理论讲解

在这里插入图片描述

++ 例题程序的界面搭建

在这里插入图片描述

(155)以下开始完善代码 ,先准备要给 model 的源数据,一些字符串 :

在这里插入图片描述

++ 给出该头文件,以全面展示其内容

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include    <QMainWindow>
#include    <QStringListModel>
#include    <QStringList>


QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

private:
    QStringList         m_strList; //保存初始 StringList
    //这样的成员对象而非成员指针,会在程序退出时自动析构,不会内存泄露
    
    QStringListModel *  m_model  ; //数据模型

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

private slots:
    void on_btnIniList_clicked();

    void on_btnListAppend_clicked();

    void on_btnListInsert_clicked();

    void on_btnListDelete_clicked();

    void on_btnListClear_clicked();

    void on_listView_clicked(const QModelIndex &index);

    void on_btnTextClear_clicked();

    void on_btnTextImport_clicked();

    void on_btnListSort_clicked(bool checked);

    void on_btnListMoveUp_clicked();

    void on_btnListMoveDown_clicked();

    void on_chkEditable_clicked(bool checked);

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

++ 在本类的构造函数里完成源数据的生成, model 的生成并绑定源数据,并把视图绑定到 model 并设定视图的修改触发模式

在这里插入图片描述

++ 恢复与清除按钮

在这里插入图片描述

++允许编辑复选框

在这里插入图片描述

++添加项按钮

在这里插入图片描述

++ 插入项按钮

在这里插入图片描述

++ 删除项按钮

在这里插入图片描述

++ 上移与下移按钮

在这里插入图片描述

++排序按钮

在这里插入图片描述

++代码实现

在这里插入图片描述

++排序效果

在这里插入图片描述

(156)完善右边的管理文本框的按钮的信号与槽函数

在这里插入图片描述

(157)当敲击 view 中的项时,状态栏会发生变化

在这里插入图片描述

++

在这里插入图片描述

++至此,完毕,本例题项目结束。

(158)

谢谢


网站公告

今日签到

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