QSS QTabBar text-align не работает
Я попробую (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
)
2 ответа
В качестве обходного пути вы можете дополнить заголовок пробелами в конце, используя setElideMode(Qt::ElideRight)
и используйте настраиваемый QTabBar с повторно реализованным sizeHint()
чтобы избежать растянутых вкладок:
QSize TabBar::tabSizeHint(int index) const {
QSize size = QTabBar::tabSizeHint(index);
size.setWidth(250);
return size;
}
Я не думаю, что это поддерживается в текущей версии Qt (5.4). Вы можете попробовать использовать событие рисования с QPainter
нарисовать текст на вкладке в нужном вам выравнивании.
Вы можете использовать специальные отступы и Qt::AlignLeft
чтобы получить этот результат потенциально.
Смотрите этот пост на форуме Qt для получения дополнительной информации - https://forum.qt.io/topic/35405/qss-qtabbar-text-align-does-not-work