QLabel文本对齐富文本和<tt>

时间:2016-07-06 12:32:47

标签: qt layout

我有一个显示富文本的QLabel(即Qt支持的HTML子集)并使用<tt>标记(对于等宽字体)。这似乎弄乱了整个标签文本的垂直对齐(不仅仅是等宽零件)。

例如,网格布局中有9个QLabel。中心标签的文字为"Text<tt>Label</tt>",而其他标签的文字为"TextLabel"。中心标签的文本与其他标签相比低3个像素。

Screenshot

毋庸置疑,当文本更改为不包含任何等宽字体的值时,这会弄乱布局并导致恼人的布局更改。

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

使用Gnome 3.18.2在Ubuntu 16.04上进行Qt 5.5.1。

1 个答案:

答案 0 :(得分:1)

TL; DR :使用<span style="font-family: monospace">...</span>代替<tt>...</tt>解决了我的问题。

查看以下屏幕截图,我的印象是这是与Courier New字体相关的问题:

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

enter image description here

相关问题