QLabel 中的多个文本对齐

Multiple text-alignments in QLabel

我有一个带有 QLabel 的 QGridLayout,它显示了一些值和该值的单位。为了提高可读性,我希望值在 QLabel 中左对齐,而单位右对齐。

起初我想用 QtStyleSheets 做到这一点,但我发现的唯一方法是像这样更改整个小部件的文本对齐方式:

myLabel.setStyleSheet("QLabel {qproperty-alignment: AlignRight}")

我的第二个想法是通过 HTML 来完成,但我也遇到了几个问题。这是我尝试过的:

myLabel.setText("<div align=\"left\">Value<\div><div align=\"right\">Unit<\div>")

这样做是对的,之后值左对齐,单位右对齐,但它们不再在同一行上了。然而,在我看来,这是更有希望的方法。不幸的是我对HTML不是很熟悉。 有人可以帮忙吗?

我建议您使用两个 Qlabel 和一个水平间隔器,如下图所示,这样速度很快,您可以让 Qt 处理整个设计布局。

或者,如果您真的只想在 QLabel 中继续使用 html,请使用 table 而不是 div。但是@saeed 是对的,最好使用 Qt 布局和它们之间的间隔。

示例HTML:

myLabel.setText("<table width=\"100%\"><td width=\"50%\" align=\"left\">Value</td><td width=\"50%\" align=\"right\">Unit</td></table>");