一、概述

在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的情况下

  1. 在首次显示视图时,默认显示在第一列的标题上,但此时如果应用数据未进行排序处理,实际显示数据是按数据生成顺序显示,不一定是有序的;
  2. 当点击标题时,排序标记会变化,但视图中的数据无变化,如果需要变化,应用需要进行调整。调整的方案是接收视图表头的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相关属性的更多相关文章

  1. PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性不能覆盖写的问题

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dra ...

  2. PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性

    老猿Python博文目录 老猿Python博客地址 一.属性的作用 dragDropOverwriteMode属性用于控制视图的拖放行为,如果其值为True,则视图中选定的数据将在拖拽数据放下时被覆盖 ...

  3. PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系

    老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑>中,老猿觉得dragE ...

  4. PyQt(Python+Qt)学习随笔:QAbstractItemView的verticalScrollMode和horizontalScrollMode属性

    老猿Python博文目录 老猿Python博客地址 一.概述 verticalScrollMode和horizontalScrollMode属性用于控制视图如何在垂直方向和水平方向滚动内容.滚动可以按 ...

  5. PyQt(Python+Qt)学习随笔:toolButton的autoRaise和arrowType属性

    autoRaise属性 autoRaise属性表示toolButton按钮是否自动凸出,类型为布尔类型.默认值为False,可以通过autoRaise().setAutoRaise(bool enab ...

  6. PyQt(Python+Qt)学习随笔:gridLayout的layoutRowMinimumHeight和layoutColumnMinimumWidth属性

    Qt Designer中网格布局(gridLayout)中,layoutRowMinimumHeight和layoutColumnMinimumWidth两个属性分别设置网格布局中各行的最小高度和各列 ...

  7. PyQt(Python+Qt)学习随笔:gridLayout的layoutRowStretch和layoutColumnStretch属性

    Qt Designer中网格布局中,layoutRowStretch和layoutColumnStretch两个属性分别设置网格布局中行之间和列之间的拉伸因子,如图: 但是QGridLayout并没有 ...

  8. PyQt(Python+Qt)学习随笔:gridLayout的layoutHorizontalSpacing和layoutVerticalSpacing属性

    layoutHorizontalSpacing和layoutVerticalSpacing属性在Qt Designer中是网格布局(gridLayout)和表单布局(formLayout)都有的属性, ...

  9. PyQt(Python+Qt)学习随笔:QAbstractItemView的autoScroll和autoScrollMargin属性

    老猿Python博文目录 老猿Python博客地址 QAbstractItemView的autoScroll属性用于确认鼠标在视口边缘时是否自动滚动内容,默认值为True,autoScrollMarg ...

随机推荐

  1. 【linux】helloword原理分析及实战

    目录 前言 linux中hello word原理 hello word 实战 学习参考 前言 hello word 著名演示程序,哈哈 下面在 arm linux 下展示一下hello world,便 ...

  2. Spring5.0源码学习系列之浅谈懒加载机制原理

    前言介绍 附录:Spring源码学习专栏 在上一章的学习中,我们对Bean的创建有了一个粗略的了解,接着本文挑一个比较重要的知识点Bean的懒加载进行学习 1.什么是懒加载? 懒加载(Lazy-ini ...

  3. 极客mysql06

    两阶段锁:在 InnoDB 事务中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放, 而是要等到事务结束时才释放. 建议:如果你的事务中需要锁多个行,要把最可能造成锁冲突.最可能影响并发度的锁 ...

  4. VGA详解及色块碰撞示例

    引言 VGA:video Graphics array,视频图形阵列,阴极射线显像管(CRT)显示器时代产物,很多老显卡.笔记本电脑.投影仪所用接口,已经比较过时. CRT是模拟设备,所以VGA也采用 ...

  5. Ceph实现数据的'不拆分'

    前言 之前看过一个朋友一篇文章,讲述的是Vsan为什么使用的是两副本,而ceph则大多数情况下需要三副本,当时个人观点是这个并不是关键点,但是在仔细考虑了问题的出发点以后,这个也可以说是其中的一个点 ...

  6. ThreadLocal应用及源码分析

    ThreadLocal 基本使用 ThreadLocal 的作用是:提供线程内的局部变量,不同的线程之间不会相互干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或组件之间一些公共变量传 ...

  7. tomcat设置好环境变量,依然无法通过cmd startup命令启动

    Windows环境下JDK安装与环境变量配置详细的图文教程 https://www.cnblogs.com/liuhongfeng/p/4177568.html   Windows环境下maven 环 ...

  8. Charles mock数据详解

    Charles是一款非常好用的代理工具,关于Charles的安装.破解.安装证书,连接手机代理等使用方法详见我之前的博客:https://www.cnblogs.com/feng0815/p/8043 ...

  9. 我要进大厂之大数据Hadoop HDFS知识点(1)

    01 我们一起学大数据 老刘今天开始了大数据Hadoop知识点的复习,Hadoop包含三个模块,这次先分享出Hadoop中的HDFS模块的基础知识点,也算是对今天复习的内容进行一次总结,希望能够给想学 ...

  10. [前端web安全]XSS漏洞基础入门

    前言 XSS漏洞 Xss(Cross-Site Scripting)意为跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS ...