PyQt学习随笔:QTableWidget水平表头horizontalHeader、竖直表头verticalHeader的相关操作方法

时间:2024-03-27 17:45:17

QTableWidget表格部件的表头包括水平表头和竖直表头,水平表头每节对应表格的一列,竖直表头对应表格的一行。如图:
PyQt学习随笔:QTableWidget水平表头horizontalHeader、竖直表头verticalHeader的相关操作方法
上图中的“行”+编号的项就是竖直表头的一个项(也称为1节),“列”+编号的项就是水平表头的一个项(节)。

1、设置水平表头的setHorizontalHeaderLabels方法

setHorizontalHeaderLabels用于一次性顺序设置水平表头多个节显示的文本,调用语法如下:

setHorizontalHeaderLabels( Iterable[str] labels)

注意:
  • 该方法无返回值
  • 该方法设置的多个节是按第0节开始的逻辑顺序设置,不论中间是否出现隐藏节或交换节或者是否已设置标签
  • 如果标签列表超出实际表头节数将忽略多出的,前面的按给定顺序设置
  • 如果标签列表少于实际表头节数也能设置前面对应节数的标签
  • 设置了标签的节自动会创建该节对应的项

2、设置竖直表头的setVerticalHeaderLabels

setVerticalHeaderLabels用于一次性顺序设置竖直表头多个节显示的文本,调用语法如下:
setVerticalHeaderLabels( Iterable[str] labels)

其他的方面与setHorizontalHeaderLabels方法相同。

3、访问水平节对应项

前面介绍了,表头的一个节实际上对应一个项,项的类型与表格部件的项类型相同,都是QTableWidgetItem实例对象。水平节对应项可以通过方法horizontalHeaderItem和setHorizontalHeaderItem方法访问,调用语法如下:

  • QTableWidgetItem horizontalHeaderItem(int column)
  • setHorizontalHeaderItem(int column, QTableWidgetItem item)
注:
  1. column参数对应水平表头节的序号,从0开始,其数值必须小于表格部件的总列数,否则设置调用无效,查询返回None;
  2. 调用setHorizontalHeaderItem将替换原有节对应的项,标签显示为项的文本;
  3. 如果一个节没有设置标签也没有通过setHorizontalHeaderItem设置项,则对应表头节没有对应项。

4、访问竖直节对应项

类似setHorizontalHeaderItem,QTableWidget提供了verticalHeaderItem、setVerticalHeaderItem方法,调用语法如下:

  • QTableWidgetItem verticalHeaderItem(int row)
  • setVerticalHeaderItem(int row, QTableWidgetItem item)

相关方法使用与访问水平节类似,在此不重复说明。

5、从表头节中取下节对应项

QTableWidget可以取下表头节对应项并返回,相关方法如下:

  • QTableWidgetItem takeHorizontalHeaderItem(int column)
  • QTableWidgetItem takeVerticalHeaderItem(int row)

对应节的项被取下后,表头对应节的标签将自动变更为节的序号。

6、表头属性相关访问方法

在Designer中,QTableWidget有如下表头属性可以设置:
PyQt学习随笔:QTableWidget水平表头horizontalHeader、竖直表头verticalHeader的相关操作方法
相关属性是从QTableView继承过来的,相关访问方法请参考《PyQt(Python+Qt)学习随笔:QTableView的标题表头相关属性》。

PyQt学习随笔:QTableWidget水平表头horizontalHeader、竖直表头verticalHeader的相关操作方法

老猿Python,跟老猿学Python!