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

表格与树-QTableWidget基本用法

2022-05-05 16:08 作者:海鸥之道  | 我要投稿

QTableWidget是Qt程序中常用的显示数据表格的空间,类似于C#中的DataGrid。QTbaleWidget是QTableView的子类,它使用标准的数据模型,并且其单元格数据是通过QTableWidgetItem对象来实现的。使用QTableWidget时就需要QTableWidgetItem,用来表示表格中的一个单元格,整个表格就是用各个单元格构建起来的。

QTableWidget类中的常用方法如下表所示。

编辑规则的枚举值类型如下所示。

表格的选择行为的枚举值:

单元格文本的水平对齐方式如下:

单元格文本的垂直对齐方式如下表:

实例演示1:基本用法

本实例主要介绍基本表格的用法,在表格控件中显示的数据是可编辑的。在QTableWidget表格中具体单元格就是QTableWidgetItem类。完整代码如下。

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

代码分析:

上面这行代码构造了一个QTableWidget对象,并设置表格为4行3列。

上面这行代码生成了一个QTableWdigetItem对象,名称为“张三”。

上面这行代码将刚生成的具体单元格加载到表格的第0行第0列处。

注意: 在默认情况下,表格里面的字符串是可以更改的。

1)设置表格头

首先,初始化QTableWidget的实例对象,生成一个4行3列的表格,除了上述方式外,还可以按如下方式定义:

然后,设置表格的水平表头标签和垂直表头标签。

注意:生成表格,初始化行号和列号后,在设置表格的表头标签,否则是没有效果的。

显示的效果如图:

2)设置表格头为伸缩模式

创建一个4行3列的表格,表格头信息“姓名”“性别”“体重(kg)”水平放置,不设置表格的垂直表头标签,然后使用QTableWidget对象的horizontalHeager()函数设置表格为自适应的伸缩模式,即可根据窗口大小来改变网格大小。

运行程序, 将窗体拉长一些,显示效果如下。

3)将表格变为禁止编辑

在默认情况下,表格中的字符串是可以更改的,比如双击一个单元格,就可以修改原来的内容。如果想禁止这种操作,让表格对用户是只读的,则可以编写如下代码。

4)设置表格整行选中

表格默认选中的是单个单元格,通过一下的代码可以设置成整行选中。

显示效果:

5)将行和列的宽度、高度设置为与所显示内容的宽度、高度相匹配。

显示效果:

6)表格头的显示与隐藏

对于水平方向的表头,采用以下代码进行隐藏或显示设置。

对于垂直方向的表头,采用以下代码进行隐藏或者显示设置。

将表格头隐藏起来的效果如图。

7)在单元格中放置控件

QTableWidget不仅允许往单元格中放置文字,还允许放置控件,通过TableWidget.setCellWidget()来添加PyQt的基本控件。

实例演示2:把一个下拉列表框和一个按钮加入单元格,并设置控件与单元格的边距,如为3像素,代码如下:

显示的效果如下图:

8)在表格中快速定位到指定行

当tablewidget表格的行数很多时,可以通过输入行号进行直接定位并显示,比如输入10,就直接显示第10行。

实例演示3:快速查找

运行结果,显示效果如下图。


表格与树-QTableWidget基本用法的评论 (共 条)

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