Qt | 视图便捷类的使用 QListWidget QTreeWidget QTableWidget
前言:
从 Qt4 开始引进了一些标准部件来提供基于项的容器部件,它们的底层是通过模型/视图框架实现的。
QListWidget: 提供了一个项目列表部件。
QTreeWidget: 提供了一个多层次的树结构部件。
QTableWidget: 提供了一个以项目作为单元的表格部件。它们都继承了 QAbstractItemView 类的行为。它们之所以被成为便捷类,是因为它们使用起来比较简单,适合存储和显示少量的数据。
它们没有将视图和模型进行分离,没有视图类灵活,不能和任意的模型一起使用。所以建议如果数据存储和显示风格简单选用便捷类,如果实现自定义、复杂的数据展示选择视图类。
这些部件都可以在 Qt 的设计窗口中找到,用的时候可以直接拖拽使用,也可以使用代码的方式使用。
QListWidget 的使用:
单层的列表一般使用 QListWidget 来显示,里面的单元使用 QListWidgetItem 来表示,一个列表部件可以像一般的窗口那样进行创建。在创建 QListWidgetItem 时可以将它直接添加到已经创建的列表部件中,也可以通过 insertItem() 函数来添加。
列表中的每一个项目都可以显示一个文本标签和一个图标,还可以给项目添加提示。默认列表中的项目会根据项目的添加顺序进行排序,也可以通过 sortItems() 函数对项目进行排序。
排序:
Qt::DescendingOrder:按字母降序排序
Qt::AscendingOrder:按字母升序排序
QTreeWidget 的使用:
树或者项目的层次列表由 QTreeWidget 和 QTreeWidgetItem 类提供,树部件中的每一个项目都可以有他自己的子项目,而且可以显示多列。添加项目前必须先使用 setColumnCount() 函数设置列的个数。
QTableWidget 的使用:
项目表格使用 QTableWidget 和 QTableWidgetItem 来构建,它提供了一个包含标头和项目的可滚动表格部件。表格一般在构造时就指定它的行数和列数,项目可以在表格外先构建,然后添加到表格中的指定位置。表格项目还可以做水平标头或垂直标头。
版权声明: 本文为 InfoQ 作者【YOLO.】的原创文章。
原文链接:【http://xie.infoq.cn/article/23ae20612c11a8dfb8dffebc0】。未经作者许可,禁止转载。
评论