QT(5)-QHeaderView

news2024/11/25 0:32:41

QHeaderView

  • 1 说明
  • 2 函数
    • 2.1 级联调整大小
    • 2.2 默认对齐方式
    • 2.3 count()
    • 2.4 表头默认单元格大小
    • 2.5 hiddenSectionCount()
    • 2.6 分区显示和隐藏
    • 2.7 表头高亮
    • 2.8 是否可以移动第一列
    • 2.7 是否显示排序索引
    • 2.8 表头长度
    • 2.9 逻辑索引
    • 2.10 表头分区最大/小大小
    • 2.11 移动分区
    • 2.12 表头偏移量
    • 2.13 表头方向
    • 2.14 表头分区大小使用的精度
    • 2.15 调整分区大小
    • 2.16 分区状态
    • 2.17 分区的位置
    • 2.18 分区的调整模式
    • 2.19 分区大小提示
    • 2.20 sectionViewportPosition
    • 2.21 表头是否可以点击
    • 2.22 最后一个分区是否拉伸填充
    • 2.23 分区交换位置
    • 2.24 槽函数
    • 2.25 信号

1 说明

QHeaderView 类是一个视图组件,它显示模型中的行或列标题。可以使用 QHeaderView 来控制行和列标题的外观和行为。

2 函数

2.1 级联调整大小

bool cascadingSectionResizes() const
返回是否启用级联调整大小
void setCascadingSectionResizes(bool enable)
设置是否启用级联调整大小
如果参数 enable 设置为 true,则启用级联调整大小;
在这里插入图片描述

如果参数 enable 设置为 false,则禁用级联调整大小。
在这里插入图片描述

2.2 默认对齐方式

Qt::Alignment defaultAlignment() const
返回默认的对齐方式
void setDefaultAlignment(Qt::Alignment alignment)
设置默认对齐方式
在这里插入图片描述在这里插入图片描述

2.3 count()

int QHeaderView::count() const
返回头中的节数。

2.4 表头默认单元格大小

int defaultSectionSize() const
函数返回表头分区的默认大小。默认大小是表头分区在没有指定其他大小的情况下使用的大小。

void setDefaultSectionSize(int size)
设置默认大小

void resetDefaultSectionSize()
函数用于将表头分区的默认大小重置为其默认值。这个函数会忽略任何调用setDefaultSectionSize()函数设置的默认大小。

QTtableView或者QTableWidget的verticalHeader()->setDefaultSectionSize(15)可以设置tableview所有列的默认行高为15。

QTtableView或者QTableWidget的horizontalHeader()->setDefaultSectionSize(15)可以设置tableview所有行的默认列宽为15。

2.5 hiddenSectionCount()

int QHeaderView::hiddenSectionCount() const
返回表头中隐藏的单元格数

2.6 分区显示和隐藏

void QHeaderView::hideSection(int logicalIndex)
它用于隐藏指定的行或列头。它接收一个整数参数logicalIndex,表示要隐藏的行或列的逻辑索引。

bool QHeaderView::isSectionHidden(int logicalIndex) const
是否隐藏了指定的行或列

void QHeaderView::showSection(int logicalIndex)
函数用于显示特定表头分区。它可以用来在用户隐藏表头分区后再次显示该分区。

bool QHeaderView::sectionsHidden() const
它可以用来获取表头分区是否被隐藏。

void QHeaderView::setSectionHidden(int logicalIndex, bool hide)
设置某个分区是否隐藏

2.7 表头高亮

void setHighlightSections(bool highlight)
设置表头高亮

bool highlightSections() const
返回是否高亮

2.8 是否可以移动第一列

bool isFirstSectionMovable() const
void setFirstSectionMovable(bool movable)
此属性用于确定用户是否可以移动第一列

此属性控制用户是否可以移动第一列。在QTreeView中,第一列保存着树结构,因此在默认情况下是不可移动的,即使在setSectionsMovable(true)之后也是如此。

通过调用此方法,它可以再次变得可移动,例如在没有树结构的平面列表的情况下。在这种情况下,建议也调用QTreeView:: setrootisdecoration (false)。

将其设置为true没有效果,除非同时调用setSectionsMovable(true)。

2.7 是否显示排序索引

bool isSortIndicatorShown() const
返回是否显示排序指示符
void setSortIndicatorShown(bool show)
设置是否显示排序指示符
void QHeaderView::setSortIndicator(int logicalIndex, Qt::SortOrder order)
函数用于设置表头分区的排序指示器。它可以用来在表头分区上显示一个排序图标,以指示表中的数据当前的排序状态
参数logicalIndex是要设置排序指示器的表头分区的逻辑索引。参数order是一个枚举值,表示排序的方式,它可以是以下值之一:

Qt::AscendingOrder:升序排序。
Qt::DescendingOrder:降序排序。
Qt::SortOrder QHeaderView::sortIndicatorOrder() const
函数用于检索表头分区的排序指示器的排序方式。它可以用来检索表中的数据当前的排序状态。

2.8 表头长度

int QHeaderView::length() const
返回沿标题方向的长度。

2.9 逻辑索引

int QHeaderView::logicalIndex(int visualIndex) const
logicalIndex()函数返回给定的可视表头分区的逻辑索引。逻辑索引是模型中的行或列索引,而可视索引是用户看到的索引,可能因为用户对表头分区进行了拖放而改变。

例如,如果您有一个表格,其中第一列显示的是模型中的第二列,第二列显示的是模型中的第三列,则logicalIndex(0)将返回1,logicalIndex(1)将返回2。

2.10 表头分区最大/小大小

int QHeaderView::maximumSectionSize() const
函数返回表头分区的最大大小。这意味着,即使用户尝试将表头分区调整为更大的大小,也不会超过此最大大小。默认大小1048575

void QHeaderView::setMaximumSectionSize(int size)
设置表头分区的最大大小,参数size是表头分区的最大大小。

int minimumSectionSize() const
函数返回表头分区的最小大小
void setMinimumSectionSize(int size)
设置表头分区的最小大小,

2.11 移动分区

void QHeaderView::moveSection(int from, int to)
函数用于移动表头分区,参数from是要移动的表头分区的逻辑索引。参数to是要将表头分区移动到的位置的逻辑索引。

bool QHeaderView::sectionsMovable() const
函数用于检索表头分区是否可移动。它可以用来获取表头分区是否可以通过拖动来移动。

void QHeaderView::setSectionsMovable(bool movable)
设置表头分区是否可通过拖动来移动

bool QHeaderView::sectionsMoved() const
函数用于检索表头分区是否已经移动。

2.12 表头偏移量

int QHeaderView::offset() const
返回标头的偏移量:这是标头最左边(垂直标头是最上面)可见像素。

如果表头分区是水平的,则偏移量表示表头分区相对于其所属视图左侧的偏移量。如果表头分区是垂直的,则偏移量表示表头分区相对于其所属视图顶部的偏移量。

这个函数通常用于与sectionPosition()函数一起使用,以确定表头分区的绝对位置。例如,如果表头是水平的,则可以使用以下代码计算第二列的绝对位置:

int position = headerView->sectionPosition(1) + headerView->offset();

void QHeaderView::setOffset(int offset) slot[]
槽函数,设置偏移量

2.13 表头方向

Qt::Orientation QHeaderView::orientation() const
返回表头方向
在这里插入图片描述

2.14 表头分区大小使用的精度

int QHeaderView::resizeContentsPrecision() const
函数返回调整表头分区大小时使用的精度。精度是指表头分区调整大小时可以接受的最小增量。

void QHeaderView::setResizeContentsPrecision(int precision)
设置调整表头分区大小时使用的精度

2.15 调整分区大小

int QHeaderView::sectionSize(int logicalIndex) const
返回逻辑索引位置的分区的大小

void QHeaderView::resizeSection(int logicalIndex, int size)
函数用于调整表头分区的大小。它可以用来改变表头分区的大小,使其与您指定的大小匹配。参数logicalIndex是要调整大小的表头分区的逻辑索引。参数size是表头分区的新大小。

void QHeaderView::resizeSections(QHeaderView::ResizeMode mode)
函数用于调整表头分区的大小。它可以用来将所有表头分区的大小调整为指定的模式。

参数mode是表头分区的调整模式。可以使用以下值之一:

  • QHeaderView::Interactive:表头分区的大小可以由用户交互式调整。
  • QHeaderView::Stretch:表头分区的大小会自动调整,以使表头分区总大小与视图大小匹配。
  • QHeaderView::ResizeToContents:表头分区的大小会自动调整,以使表头分区能够完全显示其内容。
  • QHeaderView::Fixed:表头分区的大小不会改变。

2.16 分区状态

bool QHeaderView::restoreState(const QByteArray &state)
函数用于恢复表头分区的状态(表头分区的状态是指表头分区的当前设置。它包括表头分区的大小、位置、可见性以及其他设置。)。它可以用来将表头分区的状态恢复到以前保存的状态。

参数state是表头分区的状态。可以使用saveState()函数保存表头分区的状态。

QByteArray QHeaderView::saveState() const
函数用于保存表头分区的状态。它可以用来将表头分区的当前状态保存到一个字节数组中。

2.17 分区的位置

int QHeaderView::sectionPosition(int logicalIndex) const
返回给定logicalIndex的section位置,如果该section是隐藏的,则返回-1。位置以像素为单位,从第一个可见项的左上角到具有logicalIndex的项的左上角。水平标题沿x轴测量,垂直标题沿y轴测量。

2.18 分区的调整模式

QHeaderView::ResizeMode QHeaderView::sectionResizeMode(int logicalIndex) const
函数用于检索表头分区的调整模式。它可以用来获取表头分区的调整模式,即表头分区的大小是否可以由用户交互式调整、是否会自动调整以使表头分区总大小与视图大小匹配、是否会自动调整以使表头分区能够完全显示其内容、或者是否固定不变。

void QHeaderView::setSectionResizeMode(QHeaderView::ResizeMode mode)
函数用于设置表头分区的调整大小模式。它可以用来控制表头分区在调整大小时的行为。

void QHeaderView::setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode)
函数用于设置特定表头分区的调整大小模式。它可以用来控制特定表头分区在调整大小时的行为。
参数logicalIndex是要设置调整大小模式的表头分区的逻辑索引。参数mode是一个枚举值,它可以是以下值之一:

QHeaderView::Interactive:表头分区可以通过拖动调整大小。
QHeaderView::Fixed:表头分区的大小固定不变。
QHeaderView::ResizeToContents:表头分区的大小根据内容调整。

2.19 分区大小提示

int QHeaderView::sectionSizeHint(int logicalIndex) const
函数用于检索表头分区的大小提示。它可以用来获取表头分区的大小提示,即表头分区的期望大小(相对于表头内容而言)。

2.20 sectionViewportPosition

int QHeaderView::sectionViewportPosition(int logicalIndex) const
函数用于检索表头分区的视图窗口位置。它可以用来获取表头分区相对于视图窗口左上角的水平位置。

2.21 表头是否可以点击

bool QHeaderView::sectionsClickable() const
返回是否可以点击

void QHeaderView::setSectionsClickable(bool clickable)
函数用于设置表头分区是否可点击。它可以用来设置表头分区是否可以响应鼠标单击事件。

2.22 最后一个分区是否拉伸填充

bool stretchLastSection() const
函数用于检索表头分区是否会自动调整大小以使最后一个分区占满整个视图。

void setStretchLastSection(bool stretch)
设置表头分区是否会自动调整大小以使最后一个分区占满整个视图

int QHeaderView::stretchSectionCount() const
函数用于检索表头分区会自动调整大小以使最后一个分区占满整个视图的分区数。

2.23 分区交换位置

void QHeaderView::swapSections(int first, int second)
函数用于交换两个表头分区的位置。它可以用来调整表头分区的顺序。
参数first是要交换的第一个表头分区的逻辑索引。参数second是要交换的第二个表头分区的逻辑索引。

2.24 槽函数

void headerDataChanged(Qt::Orientation orientation, int logicalFirst, int logicalLast) slot[]
函数用于通知表头数据已更改。它可以用来在更改表头分区的数据后更新视图。

void QHeaderView::setOffsetToLastSection()
函数用于将表头偏移量设置为最后一个表头分区的右端点。这会使表头中的最后一个分区完全显示在视图中。

void QHeaderView::setOffsetToSectionPosition(int visualSectionNumber)
函数用于将表头偏移量设置为给定的表头分区的位置。这会使表头中的给定的分区完全显示在视图中。

2.25 信号

void geometriesChanged()
void sectionClicked(int logicalIndex)
void sectionCountChanged(int oldCount, int newCount)
void sectionDoubleClicked(int logicalIndex)
void sectionEntered(int logicalIndex)
void sectionHandleDoubleClicked(int logicalIndex)
void sectionMoved(int logicalIndex, int oldVisualIndex, int newVisualIndex)
void sectionPressed(int logicalIndex)
void sectionResized(int logicalIndex, int oldSize, int newSize)
void sortIndicatorChanged(int logicalIndex, Qt::SortOrder order)

  • sectionClicked(int logicalIndex):表头分区被单击时发出。参数logicalIndex是表头分区的逻辑编号。
  • sectionDoubleClicked(int logicalIndex):表头分区被双击时发出。参数logicalIndex是表头分区的逻辑编号。
  • sectionEntered(int logicalIndex):鼠标指针进入表头分区时发出。参数logicalIndex是表头分区的逻辑编号。
  • sectionHandleDoubleClicked(int logicalIndex):表头分区的拖动手柄被双击时发出。参数logicalIndex是表头分区的逻辑编号。
  • sectionMoved(int logicalIndex, int oldVisualIndex, int newVisualIndex):表头分区被移动时发出。参数logicalIndex是表头分区的逻辑编号,oldVisualIndex是表头分区的旧视觉编号,newVisualIndex是表头分区的新视觉编号。
  • sectionPressed(int logicalIndex):表头分区被按下时发出。参数logicalIndex是表头分区的逻辑编号。
  • sectionResized(int logicalIndex, int oldSize, int newSize):表头分区被调整大小时发出。参数logicalIndex是表头分区的逻辑编号,oldSize是表头分区的旧大小,newSize是表头分区的新大小
  • sortIndicatorChanged(int logicalIndex, Qt::SortOrder order):表头分区的排序指示符更改时发出。参数logicalIndex是表头分区的逻辑编号,order是表头分区的排序顺序。
  • geometriesChanged():表头分区的几何数据更改时发出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/141760.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qlik帮助提升数据素养:新一代打工人“必备招式”

“营销”在业务推进过程中扮演着至关重要的角色。然而,当前营销的影响力却往往未得到广泛理解和重视。 在数字世界里,数据浩瀚如海,但如果“探险者”没有乘风破浪的能力,这片数据汪洋只能沉寂在角落里“吃灰”。而数据素养&#…

Ubuntu20.04 rosdep 失败解决方法

参考文章http://www.autolabor.com.cn/book/ROSTutorials/chapter1/12-roskai-fa-gong-ju-an-zhuang/124-an-zhuang-ros.htmlsudo gedit ./rosdistro/__init__.py sudo gedit ./rosdep2/gbpdistro_support.py sudo gedit ./rosdep2/sources_list.py sudo gedit ./rosdep2/rep3.…

厚积薄发打卡Day112:堆栈实践(二)<汉诺塔问题>

厚积薄发打卡Day112:堆栈实践(二)<汉诺塔问题> 问题 相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大…

Jvm知识点二(GC)

GC 相关知识点一、垃圾收集器二、 java 中的引用三、 怎么判断对象是否可以被回收?四、 Java对象在虚拟机中的生命周期五、垃圾收集算法标记-清除算法复制算法补充知识点深拷贝和浅拷贝标记-压缩算法(Mark-Compact)分代收集算法Java堆的分区六…

SSH实验部署

一,实验要求 1,两台机器:第一台机器作为客户端,第二台机器作为服务器,在第一台使用rhce用户免 密登录第二台机器 2,禁止root用户远程登录和设置三个用户sshuser1, sshuser2, sshuser3, 只允许ss…

三维数学(二)

欧拉角 使用物体在三个旋转轴上的旋转角度来保存方位 API: Transform.eulerAngles:返回或设置物体的欧拉角 优点: 1.仅使用三个数字表达方位,占用空间小 2.沿坐标轴旋转的单位为角度,符合人的思考方式 3.任意…

OSPF网络类型实验配置(华为)

OSPF网络类型实验配置(华为): 根据实验要求,我们可以把其拆分成为两个部分来做,分别做两个部分的MGRE: 通过拆分可以更加直观的看到路由器之间的信息传输,然后分别做R1,R2,R3和R1,R4,R5的MGRE:…

【Xilinx】如何自动格式化Verilog代码

开发环境VivadoVSCode 【Xilinx】自动格式化Verilog代码前言一、安装VSCode并修改Vivado的默认编辑器二、安装Verilog插件1. 语法插件2. 格式化插件三、演示:如何代码格式化1. 插件演示2. 修改默认插件附录前言 有时候接手别人的代码,或者从网上找的开源…

2023学习心得01

2023年,加足马力,继续提升自己! 这次来分享下最近的学习心得,以便自己后续回顾可快速上手 按键框架数字,文字取模菜单框架Main总体框架1.首先来分析按键的框架,这里用到了函数指针,不同的可以…

并查集(C++)

根据下面这道题讲下并查集 (其实本来是写题解的…写着写着就变成算法说明了) [蓝桥杯 2017 国 C] 合根植物(C,并查集) 题目描述 w 星球的一个种植园,被分成 mnm \times nmn 个小格子(东西方…

【深度腐蚀】深入聊聊KMP算法

思路分析:主串str遍历主串j子串sub遍历子串iKMP算法是一种字符串匹配算法,他通过Next 数组能使i不回退,这样大大减少了无效的比对,提高了字符串匹配的速度。Next数组:要想让i不回退,就需要让j回退到合适的位…

HTTPS】HTTPS过程详解,tcpdump抓包 全过程分析

RFC中的HTTPS交互过程如下: 抓包分析 Client Hello 客户端支持的TLS最高版本号 客户端生成的随机数 客户端支持的加密套件 主机名server_name cipher suite怎么理解 名字为 ECDH-ECDSA-AES128-SHA256 的CipherSuite 使用 ECDH做密钥交换, 使用ECDS…

21. 反爬工程师都会用的手段,IP限制反爬 - 爬虫训练场

本篇博客我们实现的案例是 IP 限制反爬,翻译过来就是每个 IP 在规定时间内限制访问次数。 例如,可以限制单 IP 每秒访问 5 次,超过之后就会返回 403 错误。 Flask 实现 IP 限制使用 Flask 插件自定义中间件限制 IP自定义请求钩子使用 Flask 插…

CSS3 滤镜效果

文章目录CSS3 滤镜效果概述说明使用案例鬼屋效果代码下载CSS3 滤镜效果 概述 在CSS3中,新增了滤镜效果,可以轻松实现黑白效果、复古效果、亮度效果等。 说明 语法 filter: 取值;filter属性取值 属性值说明brightness(百分比)亮度brightness()方法的…

一款数据可视化分析报表工具

在这个数据信息化时代,每分每秒都产生海量数据,在海量数据中,挖掘出有用的数据,并且能以直观的方式展示这些数据,变得尤为重要,大家或许还在为做报表感到为难,想在众多数据中处理,查…

leetcode-hot链表专题——206. 反转链表

206. 反转链表 递归法 ListNode* reverse(ListNode *pre,ListNode *cur){if(cur NULL) return pre;ListNode *next cur->next;cur->next pre;return reverse(cur,next);}ListNode* reverseList(ListNode* head) {return reverse(NULL,head);}迭代法 ListNode* rever…

Python爬虫编写乱码问题、验证码登录问题和IP代理问题解决

今天继续给大家介绍Python爬虫相关知识,本文主要内容是Python爬虫编写乱码问题、验证码登录问题和IP代理问题解决。 一、乱码问题解决 我们在使用Python爬虫爬取网页信息时,有时会遇上乱码问题(特别是爬取中文网页信息时)&#…

C语言进阶——指针(二)

一. 函数指针 说到指针,我们可以想到的是取地址操作符 int ADD(int a,int b) {return ab; } int main() {printf("%p\n", &ADD);return 0; } 如此,我们便可以得到一个地址 而我们便可以将这个地址存入到一个函数指针中 int(*p)(int,…

各种卷积的说明

一、普通卷积 1、多通道输入,单通道输出 输入为三通道的6*6*3,过滤器也是三通道的分别对应RGB三个通道。其中: 过滤器的通道数需要和被卷积目标的通道数保持一致。输出通道数卷积核个数计算过程包含了先卷积再融合的过程。3个通道各种卷积得…

图像处理:二值掩膜影像去噪与边缘强化

前言这篇博客主要解决的一个问题是掩膜图像的噪声去除和边缘强化,如下图1所示。可以看到掩膜图像上有很多的斑点噪声,而且掩膜的轮廓也不够清晰。所以我们的目标就是一方面尽可能把这些斑点噪声去除,另一方面尽量突出掩膜边界。另外处理后的掩…