第8章 基于条目的控件

本章基于条目的控件(Item-Based Widgets)是指列表控件 QListWidget、表格控件 QTableWidget 和树形控件 QTreeWidget,这些控件的特点是都用于显示由数据单元(或叫条目 item)组成的数据合集。 列表控件的每一行都对应一个数据单元,即 QListWidgetItem 对象。 表格控件根据行号和列号定位到单元格,单元格对应的就是 QTableWidgetItem 对象。 树形控件每个树形节点对应一个数据单元,对应 QTreeWidgetItem 对象。 本章三种基于条目的控件是相互独立的,各自都有自己的数据单元类,也就是对应不同的数据模型。 以后章节会学到模型和视图框架,会有更通用的、更抽象的视图类,就是本章三个控件各自的基类,到时候多种视图可以呈现同一个数据模型。

本章 8.1 节介绍最常用的列表控件 QListWidget 和它的数据条目 QListWidgetItem,列表控件的条目只有一列,可以有很多行。
8.2 节介绍表格控件 QTableWidget 和它的单元格 QTableWidgetItem,表格控件一般有多行多列,可以设置表头。
8.3 节介绍树形控件 QTreeWidget 和它的树形节点 QTreeWidgetItem,树形控件节点可以有多层、多个子节点,如果将子节点全部展开,那么一行就是一个数据条目。树形控件从行排布来看有点像列表控件,只是各行之间有父子、兄弟等关系,另外每个树形节点都可以有多个属性,这些属性呈现出来可以看到有多列属性信息,又有点像表格控件,比较复杂,因此作为第三个讲解。
8.4 节介绍基于条目控件的自定义特性,比如这些控件之间条目的拖拽,为控件设置右键菜单,以及利用样式表修改控件的外观等。


prev
contents
next