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)
注:
  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有如下表头属性可以设置:



相关属性是从QTableView继承过来的,相关访问方法请参考《PyQt(Python+Qt)学习随笔:QTableView的标题表头相关属性》。

老猿Python,跟老猿学Python!

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

  1. PyQt学习随笔:QTableWidget的selectedRanges、setRangeSelected访问选中矩形范围的方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QTableWidget对项的操作支持选中多个项的情况下,可以通过方法selectedRanges ...

  2. PyQt学习随笔:Model/View中TableView视图数据项编辑结果及视图数据项的访问

    按照<PyQt学习随笔:Model/View中设置视图数据项可编辑的方法>的方法支持视图数据可编辑后,编辑后的数据无需主动保存,PyQt会自动将界面变更的数据保存到对应的Model存储中, ...

  3. PyQt学习随笔:Model/View架构中多个视图之间选择数据项同步

    我们知道多个视图之间通过使用相同的model就可以实现数据的共享(具体请参考< PyQt学习随笔:ListView控件的视图和数据模型分离案例>),除了数据的共享之外,多个视图之间还可以同 ...

  4. PyQt学习随笔:Model和View之间的数据互动过程

    在<PyQt学习随笔:Qt中tem Views(Model-Based)和Item Widgets(Item-Based)控件的用途和关系>中介绍了,Model用于存储数据,View用于展 ...

  5. PyQt学习随笔:Qt Designer调用帮助时报错找不到assistant.exe文件的解决办法

    老猿是按照<第15.5节 PyQt5安装与配置>步骤安装的PyQt及相关工具,但最近在Qt Designer中点击帮助相关菜单时报错找不到assistant.exe文件,如图: 按照报错信 ...

  6. PyQt学习随笔:Model/View开发时在view数据项中设置不同角色数据的方法

    在往Model中通过QStandardItem等类插入数据项时,除了实际插入的存储数据,还可以设置不同角色(请参考<PyQt学习随笔:Model/View中诸如DisplayRole的数据角色及 ...

  7. PyQt学习随笔:Model/View开发时从Model相关类派生自定义类需要注意的问题

    在<PyQt学习随笔:重写setData方法截获Model/View中视图数据项编辑的注意事项>介绍的方法,从Model相关类派生自定义类,通过重写setData方法以获取View中数据的 ...

  8. PyQt学习随笔:重写setData方法截获Model/View中视图数据项编辑的注意事项

    根据<PyQt学习随笔:Model/View中视图数据项编辑变动实时获取变动数据的方法>可以重写从PyQt的Model类继承的setData方法来实时截获View中对数据的更改,但需要注意 ...

  9. PyQt学习随笔:通过自定义类重写QApplication的notify方法捕获应用的所有消息

    PyQt程序通过调用QApplication类的exec_()(sys.exit(app.exec_()) 进入程序主循环,开始处理事件,它从事件队列中获取本地窗口系统事件,将它们转化为 QEvent ...

随机推荐

  1. 基于YOLO-V2的行人检测(自训练)附pytorch安装方法

    声明:本文是别人发表在github上的项目,并非个人原创,因为那个项目直接下载后出现了一些版本不兼容的问题,故写此文帮助解决.(本人争取在今年有空的时间,自己实现基于YOLO-V4的行人检测) 项目链 ...

  2. fork-vfork -exit&_exit

    昨天帮人查bug,发现了一个vfork fork exit  _exit不分导致的问题. 使用vfork 后调用exit导致的问题. 主要需要弄清楚他们之间的区别: 1.  fork  ():子进程拷 ...

  3. this.getClass().getResource("") url path file 区别

    首先注意 "/word/appointDismiss.docx" 前面一定要加 /,有一次我就是忘记加/ 查了半天错, 不能写成 "word/appointDismiss ...

  4. Qiskit 安装指南

    内容参考官方文档 https://qiskit.org/documentation/install.html conda create -n name_of_my_env python=3 创建虚拟环 ...

  5. flink1.10版本StreamGraph生成过程分析

    1.StreamGraph本质 本质就是按照用程序代码的执行顺序构建出来的用于向执行环境传输的流式图,并且可以支持可视化展示给用户的一种数据结构. 2.StreamGraph.StreamNode和S ...

  6. Java项目读取resources资源文件路径那点事

    今天在Java程序中读取resources资源下的文件,由于对Java结构了解不透彻,遇到很多坑.正常在Java工程中读取某路径下的文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径, ...

  7. 2020CCPC长春题解 I - Kawaii Courier

    2020CCPC长春题解 I - Kawaii Courier 题目大意:给一个树,让你求每个节点走到根节点的期望的d*x^d,d为走过的边个数.走法是每次随机等概率走到相邻的点. 题目分析: 相对于 ...

  8. Linux 文本处理批量查找与替换

    # 搜索含有特定字符串在某个目录并打印出文件名grep -rl "www.baidu.com" /data* -r, --recursive like --directories= ...

  9. Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现

    Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现 环境搭建 docker pull medicean/vulapps:s_shiro_1 docker run -d ...

  10. kali 系列学习10-渗透攻击MySQL数据库服务、PostgreSQL数据库服务、Tomcat服务和PDF文件

    介绍使用MSFCONSOLE工具渗透攻击MySQL数据库服务.PostgreSQL数据库服务.Tomcat服务和PDF文件等. 6.4.1 渗透攻击MySQL数据库服务 MySQL是一个关系型数据库管 ...