news 2026/2/10 2:17:33

QTabWidget+QSS

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QTabWidget+QSS

一、QTabBar

说QTabWidget之前,

我觉得还是先了解下QTabBar比较好些,

毕竟标签控件QTabWidget,

是QTabBar+QStackWidget的组合体。

QTabWidget可管理qss的子控件,

有这么几个:

::tab 标签页

::tear 撕裂指示器

::close-button 标签页关闭按钮

::scroller 滚动按钮的容器

QToolButton::left-arrow 左箭头(滚动左按钮)

QToolButton::left-arrow 右箭头(滚动右按钮)

可管理的伪状态有:

:top 在顶部位置

:bottom 在底部位置

:left 在左边的位置

:right 在右边的位置

:only-one 只有个标签时

:first 第一个标签页

:middle 中间的标签页

:last 最后一个标签页

:selected 当前选中的标签页

:previous-selected 当前选中的前一个标签页

:next-selected 当前选中的后一个标签页

01 伪状态1

QTabBar::tab:previous-selected{ background-color: red; } QTabBar::tab:next-selected{ background-color: green; } QTabBar::tab:selected { background-color: blue; color: #fff; }

先认识下这三个伪状态

被选中的标签页为蓝色,

在它右边的是previois-selected 红色

在它左边的是next-selected 绿色

02 伪状态2

QTabBar::tab:first{ background-color: #1E90FF; } QTabBar::tab:last{ background-color: #9932CC; } QTabBar::tab:middle{ background-color: #32CD32; } QTabBar::tab:selected { background-color: #1E40AF; color: #fff; }

最左边就是 first

最右边就是 last

中间四个就是 middle

被选中时的优先级最高。

03 伪状态3

QTabBar::tab:first{ background-color: #1E90FF; } QTabBar::tab:last{ background-color: #9932CC; } QTabBar::tab:only-one{ background-color: #FF3333; }

最开始有两个标签的时候,

是first和last在起作用;

当我们关闭一个标签的时候,

只剩下一个标签页,

此时由only-one起作用了。

如果还定义了selected的话,

依然是selected的优先最高,

但这是为了演示only-one,

所以就不能定义它。

04 伪状态4

QTabBar::tab:top{ background-color: #FF3333; } QTabBar::tab:bottom{ background-color: #1E90FF; } QTabBar::tab:left{ background-color: #32CD32; } QTabBar::tab:right{ background-color: #00CED1; }

位置状态生效有个前提,

标签必须要在对应的位置才行,

按钮用来辅助动态调整标签位置

//上 void DialogQSSTabBar::on_pushButton_clicked() { ui->tabWidget_5->setTabPosition(QTabWidget::North); } //下 void DialogQSSTabBar::on_pushButton_2_clicked() { ui->tabWidget_5->setTabPosition(QTabWidget::South); } //左 void DialogQSSTabBar::on_pushButton_3_clicked() { ui->tabWidget_5->setTabPosition(QTabWidget::West); } //右 void DialogQSSTabBar::on_pushButton_4_clicked() { ui->tabWidget_5->setTabPosition(QTabWidget::East); }

代码中设置位置的时候,

就变成了地图的方向,

上北,下男,左西,右东。

05 子部件

QTabBar::tear{ background: #FF6600; } QTabBar::close-button{ background: #9932CC; } QTabBar::scroller{ width: 80px; background: #00CED1; } QTabBar QToolButton{ background: red; } QTabBar QToolButton::left-arrow { background: yellow; } QTabBar QToolButton::right-arrow { background: green; }

要让滑动按钮和撕裂指示器出现,

就要求标签页的数量多到让控件装不下。

还是图示下更清楚些:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/8 12:33:32

7.3 GPT进化史:从GPT-1到GPT-4的技术跃迁

7.3 RAG 进阶:知识库搭建:文档预处理、向量数据库、向量检索算法 引言 在前两节中,我们学习了RAG的基础概念和工作流程。要构建一个高效、准确的RAG系统,知识库的搭建是至关重要的环节。一个高质量的知识库不仅决定了RAG系统的检索效果,更直接影响最终答案的准确性和相关…

作者头像 李华
网站建设 2026/1/30 12:23:01

【大厂内部流出】Open-AutoGLM异步任务处理框架设计文档(限时公开)

第一章:Open-AutoGLM 离线任务队列开发方案概述Open-AutoGLM 是一个面向大语言模型自动化推理的开源框架,支持在资源受限或网络不稳定环境下执行离线任务。为提升系统的异步处理能力与任务调度效率,本方案设计了一套完整的离线任务队列机制&a…

作者头像 李华
网站建设 2026/2/8 21:07:03

Open-AutoGLM上线倒计时:硬件兼容性验证清单,错过将延期交付

第一章:Open-AutoGLM 硬件适配调试经验在部署 Open-AutoGLM 模型过程中,硬件适配是决定推理性能与稳定性的重要环节。不同架构的 GPU、内存带宽以及驱动版本均可能影响模型加载与执行效率。以下为实际调试中积累的关键经验。环境准备与依赖安装 确保系统…

作者头像 李华
网站建设 2026/2/5 3:41:28

Open-AutoGLM提示词设计黄金法则,资深AI架构师不愿公开的5大核心模式

第一章:Open-AutoGLM提示词设计的核心理念Open-AutoGLM作为面向生成式语言模型的自动化提示工程框架,其核心理念在于通过结构化、可复用的提示设计提升模型输出的准确性与一致性。该框架强调语义清晰性、上下文适应性和任务导向性,确保提示词…

作者头像 李华
网站建设 2026/2/8 8:15:29

Linly-Talker支持反射贴图渲染,提升皮肤质感

Linly-Talker支持反射贴图渲染,提升皮肤质感 在虚拟主播、数字员工和智能客服日益普及的今天,用户对“像人”的期待早已超越了会说话、能互动的基本要求。人们不再满足于一个动作僵硬、面色呆板的3D模型,而是希望看到有呼吸感、有情绪、甚至能…

作者头像 李华
网站建设 2026/2/7 7:38:22

八年电商开发血泪史:淘宝评论 API 的接口处理

在八年电商开发生涯中,淘宝评论数据的获取与处理是我踩坑最多、耗费精力最大的模块之一。从早期淘宝开放平台 API 的 “红利期”,到后期权限全面收紧、接口逐步下线,再到被迫转向非官方方案应对反爬,期间经历了系统崩溃、数据丢失…

作者头像 李华