QHeaderView表头和QTablView+QSS的应用

一、QHeaderView

在看QTableView之前,先看看QHeaderView

由于表头分水平和垂直方向,只是方向上的不同而已,文中的示例都将使用水平方向的表头。

函数功能

1.hideSection

隐藏一列内容

2.showSection

显示一列内容,和上面的正好凑一对。
看个示例:

3.moveSection

移动某列到指定位置,移动时可能会让后面的列的下边发生变化。

4.swapSections

指定的两列交换,只是交换指定的两列,其它列不受影响。
看个示例:

5.saveState

保存表头当前状态,就像拍了个快照一样,用来恢复

6.restoreState

恢复表头状态,和saveState凑一对。
看个示例:

恢复是有个问题要注意下,表格可能没有跟着一并刷新,所以主动更新视图更好

horizontalHeader_->restoreState(data_); ui->tableView->viewport()->update();
7.setSectionResizeMode

设置重设大小模式,模式包含四个:

QHeaderView::Interactive //可由鼠标任意拖拉,默认模式 QHeaderView::Fixed //固定大小,鼠标拖拽失灵 QHeaderView::Stretch //自动拉伸 QHeaderView::ResizeToContents //适配实际的内容大小

这个函数还有个重载,可为列指定不同的模式

setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode)
8.setSectionsMovable

允许自由拖拽列移动位置

9.setFirstSectionMovable

单独指定第一列是否允许移动,假如我们把第一列做复选框来用,一般是不允许它能随便换位置的,所以这个功能就能解决这个问题。
看个示例:

10.setCascadingSectionResizes

设置层叠式表头栏,默认情况下某一个表头栏在拖拽大小时,其它栏的大小是不会变化的,这个功能一打开,其它栏的大小也会受影响。
看个示例:

11.setHighlightSections

设置标题栏高亮,其实指得是当表格中的某个数据项被选中时,对应列的表头栏是否高亮。在设置QSS样式时,它有时候多少会有点干扰,可以把它关掉。
看个示例:

12.setResizeContentsPrecision

设置精度,指的是当模式为ResizeToContents时,表头计算列宽时需要参考的表数据行数量,默认是1000个。当然越大肯定越准,但效率也下降。
看个示例:

13.setStretchLastSection

设置自动拉伸最后一列,目的是为了能填充整个表格,使用率比较频繁所以官方提供了这么个快捷功能。

14.setSortIndicatorShown

显示排序指示器

15.setSortIndicator

单独指定某一列的排序指示器

16.setOffset

设置表头栏偏移,看了示例更明显

二、QTablView+QSS

QTableView也叫表格视图,QListView没有QHeaderView,但是它有,而且还是俩个:一个行头一个列头。

QHeaderView 子控件

::section

用来表示每项,包含的伪状态都有:

:middle :first :last :only-one :next-selected :previous-selected :selected :checked
::up-arrow

上箭头

::down-arrow

下箭头
看个示例更清晰:

QHeaderView::up-arrow{ background: red; min-width: 20px; min-height: 20px; } QHeaderView::down-arrow{ background: green; min-width: 20px; min-height: 20px; }

QTableView 子控件

::item

表示表格中的每项,伪状态也没啥特殊的,都是比较常见的那些。

QTableCornerButton::section

表格的全选按钮,相貌平平,一直呆在左上角默默无闻。

QTableView QTableCornerButton::section{ background: blue; }

QTableView 特殊属性

selection-color

熟悉吧,前面的QListView刚刚介绍过,被选中时的前景色

selection-background-color

也熟悉吧,被选中时的背景色

alternate-background-color

还熟悉吧,隔行背景色

gridline-color

网格线颜色

QTableView{ gridline-color: yellow; }

简单样式示例

/* 表格 */ QTableView { background-color: white; alternate-background-color: #fafafa; selection-background-color: #e3f2fd; selection-color: #1976d2; border: none; font-family: "Microsoft YaHei"; font-size: 13px; outline: none; } QTableView::item { border-bottom: 1px solid #f0f0f0; } QTableView::item:selected { background-color: #e3f2fd; color: #1976d2; font-weight: bold; } QTableView::item:hover:!selected { background-color: #f5f5f5; } /* 表头 */ QHeaderView::section { background-color: white; color: #333; border: none; border-bottom: 2px solid #e0e0e0; font-weight: bold; font-size: 14px; } QHeaderView::section:hover { background-color: #f8f9fc; }

当然cpp代码中还要补充些设置:
1、隐藏垂直表头
2、隐藏网格线
3、开启隔行颜色属性
4、选择模式换成单选和选择行
5、最后一列自动拉伸

//测试数据 QStandardItemModel *model = new QStandardItemModel; model->setHorizontalHeaderLabels({"姓名", "年龄", "城市", "居住地址"}); QList<QStringList> data = { {"张三", "28", "北京", "朝阳区建国门外大街88号SOHO现代城A座1502室"}, {"李四", "35", "上海", "浦东新区世纪大道100号环球金融中心28层"}, {"王五", "22", "广州", "天河区珠江新城华夏路10号富力中心1203室"}, {"赵六", "41", "深圳", "南山区粤海街道科技园科苑路15号"}, {"孙七", "33", "成都", "锦江区春熙路太古里商圈红星路三段16号"} }; for (int row = 0; row < data.size(); ++row) { for (int col = 0; col < data[row].size(); ++col) { QStandardItem *item = new QStandardItem(data[row][col]); item->setTextAlignment(col == 3 ? Qt::AlignLeft | Qt::AlignVCenter: Qt::AlignCenter); model->setItem(row, col, item); } } //测试表格视图 //ui->tableView->setModel(model); //简单样式 ui->tableView_2->setModel(model); ui->tableView_2->verticalHeader()->hide(); ui->tableView_2->setShowGrid(false); ui->tableView_2->setAlternatingRowColors(true); ui->tableView_2->setSelectionMode(QAbstractItemView::SingleSelection); ui->tableView_2->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tableView_2->horizontalHeader()->setStretchLastSection(true);

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

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

相关文章

凌晨3点服务器被CPU打爆!从裸奔到铜墙铁壁,这套纵深防御方案救了我的命

前言:一个让我夜不能寐的问题 上周五凌晨3点,我被短信惊醒——服务器CPU飙到100%,网站全挂。 查日志,触目惊心: # 1小时内的恶意请求 grep "nikto\|sqlmap\|nmap" access.log | wc -l # 结果:238472万…

打孔吸风皮带推荐制造商,亨冠工业价格贵不贵

问题1:什么是打孔吸风皮带?哪些场景必须用这类皮带? 打孔吸风皮带是一种在带体表面均匀分布透气孔的特种输送带,通过与负压吸风系统配合,实现物料的稳定吸附输送,避免轻薄、易飘、异形物料在传输过程中偏移、堆叠…

养老规划平台哪个口碑好,德生科技的服务推荐吗?

一、什么是养老规划平台?和传统养老咨询有何区别? 养老规划平台是借助数字化技术整合政策、金融、服务资源,为用户提供从养老政策解读、待遇测算到个性化规划方案的一站式工具,核心是通过技术实现政策精准匹配+需求…

2026铸造钢球实力厂商排名,山东金池靠四大优势脱颖而出

在工业研磨领域,耐磨钢球是矿山、水泥、冶金等行业的心脏耗材,其质量直接决定磨机效率与生产综合成本。面对市场上鱼龙混杂的铸造钢球制造企业,如何精准选择兼具硬度、耐磨性与场景适配性的产品?以下结合用户核心痛…

金螳螂家总部店反馈怎么样,听听30000+客户真实评价

在消费升级与数字化浪潮的双重驱动下,家装行业正经历从传统施工向品质服务的深刻转型。面对市场上鱼龙混杂的家装品牌,消费者往往陷入价格虚高、质量难保、服务断层的选择困境。以下结合不同服务定位,为你解析2026年…

探讨黑龙江靠谱的公考培训机构,哪个口碑好值得选择?

随着公职考试竞争日趋激烈,考生在选择培训机构时往往面临信息繁杂难分辨承诺与服务不符付费后无人问津等痛点,而诚信的公考培训企业正是破解这些困境的核心关键。本文结合考生高频疑问,从机构选择、服务落地、效果验…

YOLOv12官版镜像效果惊艳!复杂场景检测不漏检

YOLOv12官版镜像效果惊艳&#xff01;复杂场景检测不漏检 在城市天际线的密集楼宇间&#xff0c;无人机巡检镜头正高速掠过玻璃幕墙——反光、阴影、重叠轮廓、低对比度目标混杂其中&#xff1b;在港口集装箱堆场&#xff0c;吊装机械臂需在毫秒级响应中识别数十个尺寸各异、部…

2026年热门舞蹈地板厂排名,新凯琳作为推荐品牌靠谱不?

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家标杆企业,为舞蹈机构、艺术院校、演出场馆等场景选型提供客观依据,助力精准匹配适配的防滑舞蹈地板服务伙伴。 TOP1 推荐:临沂新凯琳地板材料有限公司 推荐…

2026年四川晾衣架及配套商贸服务商综合评测与选型指南

随着家居建材市场的消费升级与零售渠道的精细化运营需求增长,以晾衣架为代表的家庭日常五金及关联产品的采购,正从单一商品买卖向一站式、品质化、服务型的供应链合作模式转变。对于四川省内众多的五金店、日杂店及社…

手把手教学:如何用科哥镜像搭建个人抠图小工具

手把手教学&#xff1a;如何用科哥镜像搭建个人抠图小工具 1. 为什么你需要一个自己的抠图工具 你有没有遇到过这些情况&#xff1f; 想给朋友圈头像换背景&#xff0c;但 Photoshop 太重、美图秀秀又抠不干净发丝&#xff1b;做电商上架商品&#xff0c;每天要处理20张产品…

热词功能实测:提升专业术语识别率的正确姿势

热词功能实测&#xff1a;提升专业术语识别率的正确姿势 语音识别不是“听个大概”就完事——尤其在医疗、法律、金融、科研等专业场景中&#xff0c;一个术语识别错误&#xff0c;可能让整段转录失去价值。比如把“CT扫描”识别成“西提扫描”&#xff0c;把“原告”听成“元…

英伟达的汽车生意经

作者丨章涟漪 链接丨英伟达的汽车“生意经” 点击下方卡片&#xff0c;关注“自动驾驶之心”公众号 戳我-> 领取自动驾驶近30个方向学习路线 >>国内首个自动驾驶全栈交流社区&#xff1a;自动驾驶之心知‍识星球&#xff08;戳我&#xff09; 本文已获转载授权&#x…

汽车工程师在焦虑中释怀的2025年

作者 | 小皮知乎 链接丨https://zhuanlan.zhihu.com/p/1989689030607124116 编辑 | 自动驾驶之心 点击下方卡片&#xff0c;关注“自动驾驶之心”公众号 戳我-> 领取自动驾驶近30个方向学习路线 >>国内首个自动驾驶全栈交流社区&#xff1a;自动驾驶之心知‍识星球&am…

吐血推荐8个一键生成论文工具,继续教育学生轻松搞定毕业论文!

吐血推荐8个一键生成论文工具&#xff0c;继续教育学生轻松搞定毕业论文&#xff01; AI 工具助力论文写作&#xff0c;效率提升不止一点点 在当今快节奏的学习与工作中&#xff0c;继续教育学生常常面临论文写作的难题。无论是毕业论文还是学术研究&#xff0c;撰写高质量的…

unbuntu关于apt镜像的注意事项(不能用腾讯源)

省时间:不能用腾讯源,用阿里源就行 nano /etc/apt/sources.list.d/ubuntu.sources Types: deb URIs: http://mirrors.aliyun.com/ubuntu/ Suites: resolute resolute-updates resolute-backports Components: main r…

低成本实现数字人直播?Live Avatar可行性分析

低成本实现数字人直播&#xff1f;Live Avatar可行性分析 1. 现实与理想的落差&#xff1a;为什么“低成本”数字人直播仍难落地 很多人看到“Live Avatar”这个名字&#xff0c;第一反应是&#xff1a;“阿里开源的数字人模型&#xff1f;那是不是能用几块4090搭个直播间&am…

选购蒸汽锅炉必看:2026年优质制造厂家深度解析,锅炉厂家/导热油锅炉/蒸汽锅炉,蒸汽锅炉制造企业选哪家

评测背景:市场繁荣下的理性选择 随着工业生产的持续复苏与环保政策的深化推进,蒸汽锅炉作为众多行业不可或缺的热能动力设备,其市场需求呈现出稳步增长的态势。面对市场上品牌众多、技术路线各异的蒸汽锅炉产品,如…

用GPEN镜像做了个人像增强项目,附完整步骤

用GPEN镜像做了个人像增强项目&#xff0c;附完整步骤 1. 为什么选GPEN做我的人像增强项目 最近在整理老照片时&#xff0c;发现不少珍贵的人像图存在模糊、噪点、轻微划痕甚至轻微失焦的问题。试过手机APP一键修复&#xff0c;效果浮于表面&#xff1b;也跑过几个开源超分模…

2026 年 AI 搜索 geo 优化公司推荐:头部供应商技术路径与增长效果全解析

随着生成式AI搜索技术快速普及,企业如何从海量信息中被精准识别并有效推荐,已成为决定品牌增长潜力的关键因素。2026年,专业的GEO(生成式引擎优化)服务商不再仅仅是流量入口的“搬运工”,而是品牌与用户之间的智…

聊聊通过式抛丸机公司哪家实惠,江苏鼎坚性价比之选

在工业制造的精密世界里,通过式抛丸机是金属构件表面处理的隐形工匠,直接影响工件涂层附着力、使用寿命与生产效率。面对市场上良莠不齐的通过式抛丸机厂家,企业如何避开同质化内卷定制化不足的坑,找到既实惠又强实…