【发布时间】:2024-01-02 11:21:01
【问题描述】:
我有一个 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;
但是所有选项卡的宽度都相同,我不得不浪费大量的屏幕空间。
欢迎任何提示。谢谢!
【问题讨论】:
标签: qt qt5 qtstylesheets qtabbar