首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QSS QTabBar文本对齐不起作用

QSS QTabBar文本对齐不起作用
EN

Stack Overflow用户
提问于 2013-12-12 17:54:50
回答 3查看 1.5K关注 0票数 1

我试过(font-weigth:工作,但text-align:不工作):

代码语言:javascript
复制
QTabBar::tab:text{
    font-weight:bold;
    text-align:left;
}

我试过了,但也没用:

代码语言:javascript
复制
QTabBar::tab {
    font-weight:bold;
    text-align:left;
}

我的QTabWidget

代码语言:javascript
复制
<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)?

EN

回答 3

Stack Overflow用户

发布于 2015-04-09 12:34:33

我不认为这在当前版本的Qt (5.4)中是支持的。您可以尝试使用带有QPainter的画图事件将文本绘制到所需对齐的选项卡上。

您可以使用特定的填充和Qt::AlignLeft来获得这个结果。

有关更多信息- https://forum.qt.io/topic/35405/qss-qtabbar-text-align-does-not-work,请参阅Qt论坛上的这篇文章

票数 0
EN

Stack Overflow用户

发布于 2015-11-03 10:21:42

试试setElideMode(Qt::ElideRight);

票数 0
EN

Stack Overflow用户

发布于 2020-05-04 10:33:44

作为一种解决方法,您可以在标题的末尾加上空格,使用setElideMode(Qt::ElideRight)并使用自定义QTabBar和重新实现的sizeHint()来避免扩展选项卡:

代码语言:javascript
复制
QSize TabBar::tabSizeHint(int index) const {
    QSize size = QTabBar::tabSizeHint(index);
    size.setWidth(250);
    return size;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20550695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档