如何在 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 中显示