PyQt(Python+Qt)学习随笔:QTreeView的标题表头header相关属性
一、概述
在Qt Designer中,对于树型视图QTreeView,在属性在下面有专门一栏列出了跟标题相关的属性,如图:

这些属性并不是QTreeView的直接属性,而是QTreeView的header属性的子属性。
二、Qt Designer标题属性与QHeaderView对应关系
2.1、headerVisible
headerVisible属性对应QHeaderView的visible属性,表示标题是否可见,该属性实际上是从QWidget继承过来的属性,可以通过isVisible()、setVisible(bool visible)进行访问。
要设置视图中标题是否可见,分别用类似如下语句即可:
self.treeView.header().setVisible(True)
self.treeView.header().setVisible(True)
2.2、headerCascadingSectionResizes属性
headerCascadingSectionResizes属性对应QHeaderView的CascadingSectionResizes属性,
CascadingSectionResizes属性用于控制当用户调整标题的区域(sections)大小达到其最小值时,是否将界面交互式大小调整级联到下一区域。关于这个属性大家可以参考《PyQt(Python+Qt)学习随笔:QHeaderView的CascadingSectionResizes属性》相关的介绍。
可以调用方法cascadingSectionResizes()、setCascadingSectionResizes(bool enable)来访问或设置该属性。
案例:
self.treeView.header().setCascadingSectionResizes(True)
2.3、headerDefaultSectionSize属性
headerDefaultSectionSize属性对应QHeaderView的defaultSectionSize属性,defaultSectionSize用于控制标题头各字段区域的在重写调整大小之前的默认大小。
注意:defaultSectionSize这个属性的值仅对大小调整模式resizeMode设置为 Interactive 或 Fixed时有效。
默认情况下,此属性的值依赖于样式。因此,当样式更改时,此属性将同时根据样式的设置更新。当代码调用setDefaultSectionSize()后,此属性就不再受样式的影响,而调用resetDefaultSectionSize()将恢复根据样式的设置更新。
可以使用方法defaultSectionSize()、setDefaultSectionSize(int size)来访问和设置该属性的值。
2.4、headerHighlightSections属性
headerHighlightSections属性对应QHeaderView的highlightSections属性,highlightSections属性用于控制当选择了QTreeView视图中数据项时,对应的表头区域是否高亮。
可以通过方法highlightSections() 、setHighlightSections(bool highlight)来访问或设置该属性相关的值。
示例代码:
self.treeView.header().setHighlightSections(True)
注意:
老猿在使用QFileSystemModel来与QTreeView配套验证该功能时发现该功能不起作用,经验证测试与QTreeView的sortingEnabled属性相关,只有在sortingEnabled属性为True时高亮才起作用。
2.5、headerMinimumSectionSize属性
headerMinimumSectionSize属性对应QHeaderView的minimumSectionSize属性,该属性用于控制表头各字段区域的最小大小。
minimumSectionSize是允许的最小尺寸,如果设置为-1,QHeaderView将使用globalStrut(globalStrut是用于控制所有界面交互元素的最小大小)的最大值或fontMetrics(fontMetrics为当前部件字体对应的字符或字符串大小的计算度量数据,如baseline(基线)、width、asent(超出基线的高度)、decent(基线之下的高度))指定的大小。
minimumSectionSize属性的设置对所有大小调整模式都有效。
2.6、headerShowSortIndicator属性
headerShowSortIndicator属性对应QHeaderView的showSortIndicator属性,showSortIndicator属性用于控制表头是否显示排序标记。排序标记会显示在当前点击选择的标题字段上。
注意在排序标记显示属性showSortIndicator为True的情况下:
- 在首次显示视图时,默认显示在第一列的标题上,但此时如果应用数据未进行排序处理,实际显示数据是按数据生成顺序显示,不一定是有序的;
- 当点击标题时,排序标记会变化,但视图中的数据无变化,如果需要变化,应用需要进行调整。调整的方案是接收视图表头的sortIndicatorChanged信号,在信号处理中对数据进行排序处理,连接信号的示例代码如下:
self.treeView.header().sortIndicatorChanged.connect(self.sortTrigged)
上述代码中sortTrigged是槽函数。
showSortIndicator属性可以通过方法isSortIndicatorShown() 、setSortIndicatorShown(bool show)进行访问或设置。
示例代码:
self.treeView.header().setSortIndicatorShown(True)
2.7、headerStretchLastSection属性
headerStretchLastSection属性对应QHeaderView的stretchLastSection属性,stretchLastSection属性用于控制最后一个显示的表头是否占用视图中所有可用空间。
stretchLastSection属性默认值为False,可以通过stretchLastSection()、setStretchLastSection(bool stretch)方法进行访问和设置。

老猿Python,跟老猿学Python!
PyQt(Python+Qt)学习随笔:QTreeView的标题表头header相关属性的更多相关文章
- PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性不能覆盖写的问题
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dra ...
- PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性
老猿Python博文目录 老猿Python博客地址 一.属性的作用 dragDropOverwriteMode属性用于控制视图的拖放行为,如果其值为True,则视图中选定的数据将在拖拽数据放下时被覆盖 ...
- PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑>中,老猿觉得dragE ...
- PyQt(Python+Qt)学习随笔:QAbstractItemView的verticalScrollMode和horizontalScrollMode属性
老猿Python博文目录 老猿Python博客地址 一.概述 verticalScrollMode和horizontalScrollMode属性用于控制视图如何在垂直方向和水平方向滚动内容.滚动可以按 ...
- PyQt(Python+Qt)学习随笔:toolButton的autoRaise和arrowType属性
autoRaise属性 autoRaise属性表示toolButton按钮是否自动凸出,类型为布尔类型.默认值为False,可以通过autoRaise().setAutoRaise(bool enab ...
- PyQt(Python+Qt)学习随笔:gridLayout的layoutRowMinimumHeight和layoutColumnMinimumWidth属性
Qt Designer中网格布局(gridLayout)中,layoutRowMinimumHeight和layoutColumnMinimumWidth两个属性分别设置网格布局中各行的最小高度和各列 ...
- PyQt(Python+Qt)学习随笔:gridLayout的layoutRowStretch和layoutColumnStretch属性
Qt Designer中网格布局中,layoutRowStretch和layoutColumnStretch两个属性分别设置网格布局中行之间和列之间的拉伸因子,如图: 但是QGridLayout并没有 ...
- PyQt(Python+Qt)学习随笔:gridLayout的layoutHorizontalSpacing和layoutVerticalSpacing属性
layoutHorizontalSpacing和layoutVerticalSpacing属性在Qt Designer中是网格布局(gridLayout)和表单布局(formLayout)都有的属性, ...
- PyQt(Python+Qt)学习随笔:QAbstractItemView的autoScroll和autoScrollMargin属性
老猿Python博文目录 老猿Python博客地址 QAbstractItemView的autoScroll属性用于确认鼠标在视口边缘时是否自动滚动内容,默认值为True,autoScrollMarg ...
随机推荐
- 2、Django源码分析之启动wsgi发生了哪些事
一 前言 Django是如何通过网络socket层接收数据并将请求转发给Django的urls层? 有的人张口就来:就是通过wsgi(Web Server Gateway Interface)啊! D ...
- 详解如何在RVIZ中用Marker显示机器人运动路径
写在前面 最近有道作业题需要将机器人的历史路径显示出来,但是网上很多相关的教程都是搬运了官网的链接,并没有详细的操作流程...因此我又花费了很多时间去ros官网上学习marker的用法,学习怎么写pu ...
- fashion数据集训练
下载数据集 fashion数据集总共有7万张28*28像素点的灰度图片和标签,涵盖十个分类:T恤.裤子.套头衫.连衣裙.外套.凉鞋.衬衫.运动鞋.包.靴子. 其中6万张用于训练,1万张用于测试. im ...
- JS模拟百度分享侧边栏效果
模拟百度分享侧边栏的弹出与滑入效果.当鼠标移入#div1分享侧边栏,#div1分享侧边栏区块匀速滑出直至其全部露出.当鼠标移除#div1分享侧边栏,#div1分享侧边栏区块匀速滑入隐藏,直至恢复初始位 ...
- ip_rcv 中使用skb_share_check
/* * Main IP Receive routine. */ int ip_rcv(struct sk_buff *skb, struct net_device *dev, struct pack ...
- HTML5大纲算法
什么是HTML大纲算法? 大纲算法允许用户代理(user agent)从一个web页面生成一个信息结构目录,让用户对页面有一个快速的概览.类似书籍.PDF.帮助文档等,都有一个清晰的目录结构,用户能方 ...
- msfconsle核心命令学习
back 取消当前模块 banner check 检查当前exploit是否对目标有效,并不进行真正的攻击 color 禁用或启用输出是否包含颜色 connect 可以通过connect命令来链接Ne ...
- bWAPP----HTML Injection - Stored (Blog)
HTML Injection - Stored (Blog) 界面 1 <div id="main"> 2 3 <h1>HTML Injection - S ...
- 关于AOP思想,建议你看看这份五年开发总结的笔记,写的太详细了
前言 OOP(Object Oriented Programing)面向对象编程 以对象为基本单位进行程序开发,通过对象间的彼此协同,相互协调,完成程序的构建 POP(Producer Oriente ...
- 什么是NTFS文件格式
说到磁盘格式,想必大家对于NTFS格式并不陌生.我们使用的u盘等硬盘设备很多都应用了此格式.NTFS文件格式究竟是什么?它都有哪些特点?今天,小编将利用这篇文章为大家进行介绍. 一.什么是NTFS文件 ...