QTableWidget表格部件的表头包括水平表头和竖直表头,水平表头每节对应表格的一列,竖直表头对应表格的一行。如图:
上图中的“行”+编号的项就是竖直表头的一个项(也称为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)
注:
- column参数对应水平表头节的序号,从0开始,其数值必须小于表格部件的总列数,否则设置调用无效,查询返回None;
- 调用setHorizontalHeaderItem将替换原有节对应的项,标签显示为项的文本;
- 如果一个节没有设置标签也没有通过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有如下表头属性可以设置:
相关属性是从QTableView继承过来的,相关访问方法请参考《PyQt(Python+Qt)学习随笔:QTableView的标题表头相关属性》。