代码之家  ›  专栏  ›  技术社区  ›  ricky

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

  •  4
  • ricky  · 技术社区  · 7 年前

    我正试图定制一个QTabWidget,如下所示。但我不知道如何在qss中显示下面用红色标记的线。

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  2
  •   p-a-o-l-o    7 年前

    您必须设置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);
    }
    

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