【问题标题】:How to insert a space between two tabs in a QTabWidget?如何在 QTabWidget 的两个选项卡之间插入空格?
【发布时间】:2013-02-03 19:09:33
【问题描述】:

我想插入一个空格来分隔第二个标签和第三个标签。这可能吗?我尝试了一些样式表,但由于这个小部件对我来说有点新,所以到目前为止我还没有成功。

【问题讨论】:

    标签: qt qt4 qt5 qtabwidget qtabbar


    【解决方案1】:

    是的,这是可能的,但不是那么明显。这是我前段时间想出的一种方法。

    当您需要在两个选项卡之间留出空格时,请在选项卡之间插入一个新选项卡,并通过调用 QTabWidget::setTabEnabled(int index, bool enable) 禁用新选项卡。这样,新标签将不再可能与之交互(除非该标签是唯一存在的)。您还需要在 QTabWidget 上设置以下样式表:

     QTabBar::tab:disabled {
        width: 100px;
        color: transparent;
        background: transparent;
     }
    

    此样式表使新选项卡不可见(实际上它使所有禁用的选项卡不可见,因此除非没问题,否则此方法对您不起作用)。您可以通过更改样式表中width 的值来调整空间的宽度。

    结果:

    【讨论】:

    • 你应该为这个 hack 获得 +100!
    【解决方案2】:

    如果您不想像已接受的答案那样创建不可见的选项卡,这里有一种仅使用样式表的方法。同样,调整像素量以增加或减少选项卡之间的间距。

    QTabBar::tab {
        margin-left:2px;
        margin-right:2px;
    }
    

    QTabBar::tab {
        margin-left:40px;
        margin-right:40px;
    }
    

    【讨论】:

      猜你喜欢
      • 2014-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 2021-03-15
      • 2018-07-31
      • 1970-01-01
      相关资源
      最近更新 更多