模型/视图介绍 Qt包含了一组itemview类,它们使用模型/视图架构来管理数据之间的关系以及呈现给用户的方式。该体系结构引入的功能分离,为开发人员提供了更大的灵活性来定制项目的表示,并提供了一个标准的模型接口,以允许广泛的数据源与现有项目视图一起使用。 模型/视图结构 模型-视图-控制器(Model-View-Controller,MVC)是一种源自Smalltalk的设计模式,经常用于构建用户界面。在《设计模式》一书中,Gamma等人写道: MVC由三种对象组成。模型是应用程序对象,视图是它的屏幕显示,控制器定义了用户界面对用户输入的反应方式。在使用MVC之前,用户界面设计倾向于将这些对...

  nIBmcPWZzwbL   2023年11月13日   44   0   0 Qt

Qt包含两种模型 Qt提供的两个标准模型是QStandardItemModel和QFileSystemModel。 QStandardItemModel是一个多用途模型,可用于表示列表、表和树视图所需的各种不同的数据结构。同时还保存了数据项。 QFileSystemModel是一个维护目录内容信息的模型。它本身不保存任何数据项,只是表示本地文件系统上的文件和目录。 QFileSystemModel提供了一个现成的模型来进行实验,可以很容易地配置以使用现有数据。使用这个模型,我们可以展示如何为现成的视图设置模型,并探索如何使用模型索引操作数据。 在现有模型中使用视图 QListView和QTr...

  nIBmcPWZzwbL   2023年11月13日   32   0   0 Qt

1.基本概念 在模型/视图架构中,模型提供了一个标准接口,用于视图和委托访问数据。在Qt中,标准接口由QAbstractItemModel类定义。无论数据项如何存储在任何底层数据结构中,QAbstractItemModel的所有子类都将数据表示为包含项目表的层次结构。视图使用这种约定来访问模型中的数据项,但它们向用户呈现这些信息的方式没有限制。 模型还通过信号和槽机制通知任何附加的视图有关数据的更改。 本节描述一些基本概念,这些概念对于其他组件通过模型类访问数据项的方式至关重要。后面几节将讨论更高级的概念。 模型索引 为了确保数据的表示和访问方式是分开的,引入了模型索引的概念。通过模型获得的...

  nIBmcPWZzwbL   2023年11月13日   47   0   0 Qt

1.基本概念 在模型/视图架构中,视图从模型中获取数据项并将它们呈现给用户。数据的表示方式不必与模型提供的数据表示形式相似,而且可能与用于存储数据项的底层数据结构完全不同。 通过使用QAbstractItemModel提供的标准模型接口和QAbstractItemView提供的标准视图接口,以及使用通用方式表示数据项的模型索引,实现了内容与表现的分离。视图通常管理从模型中获得的数据的总体布局。它们可以自己渲染单个数据项,或者使用委托来处理渲染和编辑功能。 除了显示数据,视图还处理项目之间的导航,以及项目选择的一些方面。这些视图还实现了基本的用户界面功能,例如上下文菜单和拖放。视图可以为项目提供...

  nIBmcPWZzwbL   2023年11月13日   31   0   0 Qt

浅析在QtWidget中自定义Model 先来讲一些必备的背景知识。在讲MVC时有三个重要且基本的概念贯穿整个学习过程:Index,Data和Role。就从Index开始。 我们见过的View有单列的List结构,有树状的层次结构,还有两维的表格结构,归根结底,其实这些都是层次结构的变体。比如下面的图: 从这张图可以清楚的理解上文的观点。在这几种结构中,都有一个隐含的根节点及与根节点联系的层次结构。任何一种结构中都存在这样一个定式,通过一个父节点及一组横纵座标(row,column)即可唯一的确定一个子节点,这个规律在后面会经常用到。Index可以简单的理解成节点的指针,前面说过通过三个要素即...

  nIBmcPWZzwbL   2023年11月13日   35   0   0 Qt
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~