欢迎光临散文网 会员登陆 & 注册

表格与树1-QTableView

2022-04-29 10:06 作者:海鸥之道  | 我要投稿

表格与树解决的问题是如何在一个控件中有规律地呈现更多的数据。PyQt提供了两种控件类用于解决该问题,其中一种是表格结构的控件类;另一种是树形结构的控件类。

1、QTableView

在通常情况下,一个应用需要和一批数据(比如数组、列表)进行交互,然后在以表格的形式输出这些信息,这时就要用到QTableView类了。在QtableView中可以使用自定义的数据模型来显示内容,通过setModel来绑定数据来源。

QTableWidget继承自QTableView,主要区别是QTableView可以使用自定义的数据模型来显示内容(先要通过setModel来绑定数据源),而 QTableWidget只能使用标准的数据模型,并且其单元格数据是通过QTableWidgetItem对象来实现的。通常使用QTableWidget就能够满足我们的要求。

OTableView 控件可以绑定一个模型数据用来更新控件上的内容,可用的模式如下表所示。

实例演示:QTableView使用

运行程序,显示效果如下图所示。

从图中可以看出,表格并没有填满窗口,每列可以自由拉动,但是可能会出现滚动条。

1)需要表格填满窗口,可以添加下面代码。

此时,如何拉动窗口,表格都会占满整个窗口,运行显示效果如下:

2)添加数据

运行,显示效果如下。

3)删除当前选中的数据

第一种方法:

删除当前选中的行:

当然,在初始化中,需要添加钩子函数:

运行代码,鼠标左键选中第二行,效果如下:

发现第二行,也就是“row 1” 这行数据被删除,可以继续点击其他行,直至删完为止。

第二种方法:

功能同上,同时会输出打印当前选中行的标号。

显示效果图片不在上传,可以自己尝试下,尝试过程中有任何问题,欢迎留言讨论!

表格与树1-QTableView的评论 (共 条)

分享到微博请遵守国家法律