zoukankan      html  css  js  c++  java
  • Model/View结构(整理自<Qt5.9 C++开发指南>)

    数据模型

    数据不仅可以存储在数据模型中,数据可以是其他类,文件,数据库或任何数据源.

    视图组件

    那些带View的类; 在显示数据时,调用setModel()函数,为自己设置一个数据模型,实现组件和数据之间的交互.一个数据模型可以同时在多个视图组件中显示数据. 视图组件类的数据采用单独的数据模型,视图组件本身不存储数据. 而便利类,就是那些Widget类,为组件的每个节点或单元格创建一个项item,用项来存储数据,格式设置等,这样界面和数据绑定了,这种类只能使用与小型数据

    代理

    代理是在视图组件上为编辑数据提供编辑器,缺省的使用QLineEdit编辑器.QStyledItemDelegate是Qt的视图组件缺省使用的代理类.如果只输入整型数,使用QSpinBox更恰当;如果从把列表中选择数据,使用QComboBox更好,这时需要从QStyledItemDelegate继承.
    在Model/View中,数据模型为视图组件和代理提供存取数据的标准接口.所有的数据模型类都是从QAbstractItemModel继承而来,不管底层的数据结构怎么组织数据,QAbstractItemModel的子类都以 表格 的层次结构来表示数据.

    Model/View的一些概念.

    不管数据模型的表现形式是怎样的,它存储数据的基本单元都是项(item),每个项有一个行号,列号和父项.
    为了保证数据的表示和数据存储方式隔离,数据模型中引入了模型索引的概念,通过数据模型存取的每个数据都有一个模型索引,组件和代理都通过模型索引来获取数据.QModelIndex下的对象时临时的,如果要用持久性的模型索引,则要使用QPersisentModelIndex类.

  • 相关阅读:
    android136 360 拖拽
    android134 360 07 归属地查询
    android133 360 06 一键锁频,清楚数据
    转载:必须收藏!50个最流行的免费Kubernetes工具集
    SQL Data Compare 对比 SQLserver数据
    PLSQL 使用ODBC 数据源导入来自SQLSERVER的数据
    PLSQL 使用技巧汇总贴(一个坑)
    简单的数据库备份语句--Oracle+SQLSERVER
    SQLSERVER 导出表数据为insert 语句
    Oracle 使用PLSQL 导出 一个表的insert 语句
  • 原文地址:https://www.cnblogs.com/Stephen-Qin/p/13715048.html
Copyright © 2011-2022 走看看