【问题标题】:QLabel text alignment with rich text and <tt>QLabel 文本与富文本和 <tt> 对齐
【发布时间】:2016-11-08 12:16:19
【问题描述】:

我有一个 QLabel,它显示富文本(即 Qt 支持的 HTML 子集)并使用 &lt;tt&gt; 标签(用于等宽字体)。这似乎弄乱了整个标签文本(不仅仅是等宽部分)的垂直对齐方式。

例如,这里有 9 个网格布局中的 QLabel。中心标签的文本是"Text&lt;tt&gt;Label&lt;/tt&gt;",而其他标签的文本是"TextLabel"。中心标签的文本对齐方式比其他标签低 3 个像素。

不用说,当文本更改为不包含任何等宽字体的值时,这会弄乱布局并导致烦人的布局更改。

如何让文本与其他标签对齐?

Ubuntu 16.04 上的 Qt 5.5.1 和 Gnome 3.18.2。

【问题讨论】:

    标签: qt layout


    【解决方案1】:

    TL;DR:使用 &lt;span style="font-family: monospace"&gt;...&lt;/span&gt; 而不是 &lt;tt&gt;...&lt;/tt&gt; 为我解决了这个问题。

    看下面的截图,我的印象是这是与Courier New字体有关的问题:

    • 蓝色标签(顶部)的字体设置为 Courier New。它在文本上方有额外的空间。
    • 红色标签(中心)在问题中使用&lt;tt&gt;。 Qt 选择 Courier New 作为字体,它在文本上方有额外的空间。
    • 绿色标签(底部)使用font-family: monospace,如上所述(用于文本的“标签”部分); Qt 选择了不同的等宽字体(不确定是哪一种),并且间距很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-06
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多