我试着(font-weigth:
工作,但 text-align:
不起作用)。)
QTabBar::tab:text{
font-weight:bold;
text-align:left;
}
我试过了,但也没有用。
QTabBar::tab {
font-weight:bold;
text-align:left;
}
我的 QTabWidget:
<item>
<widget class="QTabWidget" name="tabWidget">
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Tab 1</string>
</attribute>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Tab 2</string>
</attribute>
</widget>
</widget>
</item>
我也没有发现任何 "财产" (<property name="...">
),对准文本。
如何使用 "QSS" 来对齐标签的文本 (QTabBar/QTabWidget
) ?
我认为当前版本的Qt(5.4)不支持这个功能。你可以尝试使用 QPainter
以你想要的对齐方式将文字画到标签上。
您可以使用特定的padding和 Qt::AlignLeft
来获得这种潜在的结果。
更多信息请参见Qt论坛上的这个帖子----。https:/forum.qt.iotopic35405qss-qtabbar-text-align-does-not-work。
试试 setElideMode(Qt::ElideRight);
作为一个变通的办法,你可以在标题的末尾用空格垫起来,用 setElideMode(Qt::ElideRight)
并使用自定义的QTabBar与重新实现的 sizeHint()
以避免拉长标签。
QSize TabBar::tabSizeHint(int index) const {
QSize size = QTabBar::tabSizeHint(index);
size.setWidth(250);
return size;
}