【问题标题】:How to style movable tab in QTabWidget如何在 QTabWidget 中设置可移动标签的样式
【发布时间】:2013-11-30 08:54:50
【问题描述】:

我为我的 QTabWidget 完成了大部分样式设置。我的标签是可移动和可关闭的。出于某种原因,当我尝试移动它们时,这些选项卡没有呈现。

这是我尝试移动其中一个后的样子:

如您所见,标签完全消失了。我在我的 qss 中遗漏了什么吗?这是我正在使用的样式表。

* {
    background-color: #3f4543;
    color: white;
    font-size: 12pt;
    margin: 0px;
    border: none;
}

QTabWidget::pane {
    border-top: 3px solid #535a57;
}

QTabWidget:movable {
    background: #ff7500;
}

QTabBar::tab {
    background: #535a57;
    min-width: 8ex;
    padding: 5px 10px;
}

    QTabBar::tab:hover {
        background: #6fc2ff;
    }

    QTabBar::tab:movable {
        background: #ff7500;
    }

    QTabBar::tab:selected {
        background: #0094ff;
    }

    QTabBar::tab:!selected {
        margin-top: 5px;
    }

我不确定我是否涵盖了所有可能的状态,但我不知道::tab 子控件具有哪些状态。感谢您花时间看这个!

【问题讨论】:

    标签: python qt pyqt qtstylesheets


    【解决方案1】:

    想通了。事实证明,我的一些应用程序范围的样式与 QTabWidget 冲突。我必须取出font-sizemarginborder 才能让条形图从* { } 块中正确渲染。

    【讨论】:

    • 这个提示对我很有帮助。就我而言,* { } 块中的 background-color 属性导致了问题。删除它使我的自定义标签样式在可移动标签上恢复生机。
    • 您已经很久没有回答自己的问题了:如果它确实解决了您的问题,最好将其标记为已接受,因此它不会显示为一个悬而未决的问题,登陆这里的人可以轻松找到正确答案。
    【解决方案2】:

    这被报告为一个错误,并已在 Qt 5.6 中得到解决。 https://bugreports.qt.io/browse/QTBUG-45173

    问题是由应用程序范围的 QWidget 设置背景引起的:

    QWidget {
      background: #afafaf;
    }
    

    不幸的是,除了不设置它之外,我不知道任何解决方法。但是,好吧,有时您需要拥有应用程序范围的 QWidget 背景,并且拥有不可见的移动标签是一个较小的邪恶......

    【讨论】:

      猜你喜欢
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      • 1970-01-01
      • 2018-02-05
      • 2019-12-05
      • 2021-02-04
      • 1970-01-01
      相关资源
      最近更新 更多