zoukankan      html  css  js  c++  java
  • PyQt学习随笔:QTableWidget水平表头horizontalHeader、竖直表头verticalHeader的相关操作方法

    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!

  • 相关阅读:
    重装win7之后,wubi安装的ubuntu的启动菜单不见
    data_source.rb:182: TZInfo::DataSourceNotFound解决办法
    Gem::InstallerError:The 'json' native gem requires installed build tools
    去掉DL is deprecated, please use Fiddle警告信息
    ruby on rails安装(ubuntu 14.04)
    ruby on rails 安装(win8 64位)
    满城月季花开
    python中的zip()函数
    python学习之“序列”的理解
    二进制、十进制、八进制、十六进制的理解
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/12570474.html
Copyright © 2011-2022 走看看