我有一个带有以下几个标签窗格的QTabBar:
QTabBar::tab {
background: gray;
color: white;
width:auto;
height:1em;
border:0px;
border-top-left-radius:8px;
border-top-right-radius:8px;
}
QTabBar::tab:selected {
background: lightgray;
font-weight:bold;
color:black;
}
看起来像这样:
您可以清楚地看到标签大小不变。除了自定义字体之外,没有其他样式可以影响此QTabBar。也没有特殊的代码影响它。
对我来说这看起来很麻烦。我希望width:auto
能够使标签大小增加以包含其中的文本。这是为了节省空间,因为有许多标签,具有固定的宽度将占用大量空间。
此外,我设置了一个填充,看看是否会给文本提供更多空间,如下所示:
padding: 1em;
结果如下:
文本裁剪完全相同,并且填充添加到框的外部。
我尝试过各种负边距,边框和填充的组合无济于事。这在Qt中是不可能的吗?
我可以解决这个问题:
width: 7em;
但是所有标签的宽度都相同,我不得不浪费大量的屏幕空间。
欢迎任何提示。谢谢!
答案 0 :(得分:2)
我发现了解决方案。
这很简单,因为没有尽快找到它而感到尴尬。但我想这对其他人有一些价值,所以我不会删除它。
简单地省略宽度:行。显然width:auto
与在qss中留下它不同。