如何在 QTabWidget 的两个选项卡之间插入空格?

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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;

【讨论】:

以上是关于如何在 QTabWidget 的两个选项卡之间插入空格?的主要内容,如果未能解决你的问题,请参考以下文章

尽管调用了 show(),但插入的选项卡未在 QTabWidget 中显示

QTabWidget 选项卡在其中一个选项卡中不显示任何内容

PyQT Qtabwidget 隐藏和关闭某些选项卡

如何识别 QTabWidget 中当前选项卡何时发生变化?

如何禁用 QTabWidget 中的一个选项卡?

在 QTabWidget (PyQT) 中添加已删除的选项卡