当前位置: 首页 > news >正文

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

(154)理论讲解

在这里插入图片描述

++ 例题程序的界面搭建

在这里插入图片描述

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

在这里插入图片描述

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

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include    <QMainWindow>
#include    <QStringListModel>
#include    <QStringList>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTprivate: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)

谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/257750.html

相关文章:

  • Gartner《Generative AI Use - Case Comparison for Legal Departments》
  • python基于微信小程序的广西文化传承系统
  • 智慧水利新引擎,数字孪生流域解决方案
  • 生成式AI与智能体改写互联网、IT与工业经济格局
  • 深度学习:PyTorch卷积神经网络(CNN)之图像入门
  • 【Leetcode】有效的括号、用栈实现队列、用队列实现栈
  • 成都芯谷金融中心文化科技产业园:构建文化科技产业融合新标杆
  • MySQL 8.x配置MGR高可用+ProxySQL读写分离(二):ProxySQL配置MySQL代理及读写分离
  • 【GoLang】3、基于虚拟头尾节点快速实现双向链表
  • 计算Transformer的Flops
  • 从 0 到 1 打造社区产品:短说社区助力开启社交新篇
  • Java编程中的设计模式:单例模式的深度剖析
  • 深度解析 Caffeine:高性能 Java 缓存库
  • LED-Merging: 无需训练的模型合并框架,兼顾LLM安全和性能!!
  • iOS App 上架步骤解析:适合资源有限团队的上架流程与注意事项
  • 【Verilog】Verilator的TestBench该用C++还是SystemC
  • OpenSSL 混合加密
  • 16.数据聚合
  • C++的前世今生-C++11
  • 进入python虚拟环境的方法
  • hive集群优化和治理常见的问题答案
  • 「ECG信号处理——(18)基于时空特征的心率变异性分析」2025年6月23日
  • 实时反欺诈:基于 Spring Boot 与 Flink 构建信用卡风控系统
  • 2025.06.23【甲基化】methylKit:甲基化测序数据分析安装与详细使用教程
  • 鸿蒙容器组件 Row 全解析:水平布局技术与多端适配指南
  • 《Effective Python》第十章 健壮性——善用 try/except/else/finally,写出更健壮的 Python 异常处理代码
  • 体制内写公文,用ai工具辅助写材料
  • Advent of Cyber 1 [2019] - [Day 13] | TryHackMe
  • Go 语言使用 excelize 库操作 Excel 的方法
  • FastAPI + PyMySQL 报错:“dict can not be used as parameter”的原因及解决方案