在 Qt 中,如何通过 qss 自定义如下 QTabWidget?

Posted

技术标签:

【中文标题】在 Qt 中,如何通过 qss 自定义如下 QTabWidget?【英文标题】:In Qt, how to customize a QTabWidget as below via qss? 【发布时间】:2017-12-15 08:50:38 【问题描述】:

我正在尝试自定义 QTabWidget,如下所示。但我不知道如何在 qss 中显示如下红色标记的线。

【问题讨论】:

作为背景图片 【参考方案1】:

您必须为 QTabWidget 的两个不同子控件设置样式:窗格和标签栏。

给窗格一个顶部边框和一个负顶部:

QTabWidget::pane
  border-top: 1px solid red;
  margin-top: -1px;

现在标签栏的选中标签:

QTabBar::tab:selected
  border-top: 1px solid red;
  border-left: 1px solid red;
  border-right: 1px solid red;
  background-color: rgb(240, 240, 240);

请注意,选中的选项卡不能有透明背景,否则窗格顶部边框会显示在其后面(这里我提供了浅灰色背景,仅作为示例)。

【讨论】:

以上是关于在 Qt 中,如何通过 qss 自定义如下 QTabWidget?的主要内容,如果未能解决你的问题,请参考以下文章

QT之二级菜单(二级菜单的箭头可以使用QSS设置图片)

QT自定义精美换肤界面

[Qt]自定义QStyle——实现QProgressBar自定义样式

QSS编辑器QssEditor之二:加载有变量的QSS

Qt-软件开发-自定义无边框UI界面 Frameless

QSS编辑器QssEditor之三:Ribbon控件与换肤