当前位置: 首页 > news >正文

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; }

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

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

还是图示下更清楚些:

http://www.cnnetsun.cn/news/164280.html

相关文章:

  • 手把手教你搞定Open-AutoGLM与国产芯片的驱动级适配(附调试工具包)
  • 独家渠道曝光:如何通过GitHub+Discord高效参与Open-AutoGLM开发?
  • Open-AutoGLM多语言适配技术内幕(仅限资深工程师查看)
  • 【第65套】加油,同学们!
  • 【紧急预警】Open-AutoGLM与旧系统兼容性问题正在摧毁生产环境?
  • Linly-Talker支持动态光照渲染,提升画面质感
  • 为什么你的Open-AutoGLM总是输出不准?3步定位提示词设计缺陷
  • 【工业级AI系统设计指南】:基于Open-AutoGLM的任务层级拆解模型
  • 【Open-AutoGLM生态建设必读】:6个高价值开源协作平台深度解析
  • 【独家首发】Open-AutoGLM自定义确认函数开发秘籍:资深架构师20年经验浓缩成的7个步骤
  • Open-AutoGLM核心功能揭秘(自定义确认函数开发全解析):仅限高级工程师掌握的黑科技
  • Open-AutoGLM自定义确认函数实战:5步完成高可靠性函数配置,提升自动化准确率300%
  • Open-AutoGLM开发者私藏资源库曝光(仅限内部人员知晓的获取路径)
  • Linly-Talker支持抗锯齿渲染,边缘过渡更平滑
  • 【Open-AutoGLM资源获取全攻略】:揭秘5大核心开发社区渠道与使用技巧
  • Linly-Talker支持动态眼神追踪模拟,增强交互真实感
  • Linly-Talker可用于博物馆文物背后故事讲述项目
  • Linly-Talker可用于企业内部制度宣贯视频制作
  • Open-AutoGLM任务调度优化秘技(性能提升8倍的真实案例解析)
  • 毕业论文写不下去?百考通AI平台,一键生成逻辑严谨初稿!
  • Open-AutoGLM脚本如何做到零故障运行?3个关键编写标准揭晓
  • Open-AutoGLM集成难题全解析:5步打通CI/CD流水线瓶颈
  • 价值投资中的宏观经济考量:全局视野
  • Open-AutoGLM收费模式全解析:5种主流定制开发计费方式及企业选型建议
  • 【大模型开发新范式】:Open-AutoGLM 如何让AI研发效率提升300%?
  • Open-AutoGLM调试实战(90%工程师忽略的隐藏问题)
  • Linly-Talker支持自定义服装与背景,数字人形象更丰富
  • Open-AutoGLM测试自动化落地全记录(从0到1的突破性实践)
  • Linly-Talker部署常见问题汇总及解决方案大全
  • Linux 进程深度解析(四):环境变量 —— 进程的“环境 DNA”