Qt Designer基本控件介绍——Item Views(表项视图)和Item Widgets(部件)

2021-07-12 09:45:20 浏览数 (1)

两者的关系:

Item Views(Model-Based)类内的控件是Item Widgets(Item-Based)内对应控件的父类,

如QTreeWidget是从QTreeView派生的。


两者的区别:

Item Views(Model-Based)的对象进行数据操作相对比较复杂,但处理及展示大数据量时性能高;

Item Widgets的数据操作比较简单,但处理及展示大数据量时性能相对低。Item Widgets在开发中没有Item Views灵活,实际上Item Widgets就是在Item Views的基础上绑定了一个默认的存储并提供了相关方法。

详细介绍可看博客:

“QT学习2:Table/List/Tree的View,Widget,Model相关”


  • List View :
  • List Widgets :

QListView是基于Model,而QListWidget是基于Item。

QListWidget是继承QListView,QListView是基于model的,需要自己来建模(例如建立QStringListModel、QSqlTableModel等),保存数据,这样就大大降低了数据冗余,提高了程序的效率,但是需要我们对数据建模有一定了解,初学者就先不要考虑了,而QListWidget是一个升级版本的QListView,它已经自己为我们建立了一个数据存储模型(QListWidgetItem),操作方便,直接调用addItem即可添加项目(ICON,文字)

详细介绍可以看博客

“Qt入门-列表框QListWidget类”

“Qt5.9中控件listWidget用法(QListWidget基本用法)”

“QListWidget 和 QListView的区别”


  • Tree view :视图类,需要手动给他指定模型类,才能够显示数据,QTreeView要灵活些。
  • Tree Widgets :提供了一个默认模型的部件,比较方便。

详细介绍可以看博客

“实战PyQt5: 075-树状视图QTreeView”

“PyQt5高级界面控件之QTreeWidget(五)”


  • Table View :
  • Table Widgets :具有默认模型的基于项目的表视图

QTableWidget继承自QTableView。

QSqlTableModel能与QTableView绑定,但不能于QTableWidget绑定。

详细介绍可以看博客:

“QTableWidget与QTableView的区别”

“QTableWidget / QTableView的应用”


  • Column View :以模型/视图数据为基础的,以列为单位的列表控件

详细介绍可以看博客:

“QT基础知识(九)列表控件QColumnView”

“Qt编写ColumnView入门示例”

代码语言:javascript复制
#可以指定列表视图是否获取调整大小。默认情况下,可见性设置为true
bool resizeGripsVisible() const   
void setResizeGripsVisible(bool visible)
  • Undo View :是命令模式(Command pattern) 的实现,用于在应用程序中实现撤消/重做功能。

详细介绍可看博客:

“实战PyQt5: 078-撤销命令视图QUndoView”

“Qt如何实现QTableView的撤消与恢复功能”

0 人点赞