我尝试(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”(<property name="...">
)。
如何使用“QSS”来对齐标签文本(QTabBar/QTabWidget
)?
答案 0 :(得分:0)
我不认为当前版本的Qt(5.4)支持这一点。您可以尝试使用带有QPainter
的绘制事件将文本绘制到所需对齐的选项卡上。
您可以使用特定填充和Qt::AlignLeft
来获得此结果。
有关详情,请参阅Qt论坛上的这篇文章 - https://forum.qt.io/topic/35405/qss-qtabbar-text-align-does-not-work
答案 1 :(得分:0)
尝试setElideMode(Qt::ElideRight);
答案 2 :(得分:0)
作为一种解决方法,您可以在标题末尾加空格,使用setElideMode(Qt::ElideRight)
并使用带有重新实现的sizeHint()
的自定义QTabBar以避免扩展标签:
QSize TabBar::tabSizeHint(int index) const {
QSize size = QTabBar::tabSizeHint(index);
size.setWidth(250);
return size;
}