2017-10-19 121 views
0

我有一个QGridLayout,其中包含QLabel,它们显示了一些值和单位。为了提高可读性,我希望在QLabel中将值左对齐,并使单位右对齐。QLabel中的多个文本对齐

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

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

我的第二个想法是通过HTML做到这一点,但那里我也遇到了几个问题。这里是我的尝试:

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

这做正确的事,后该值是左对齐和单元右对齐,但它们不是在同一行了。尽管如此,在我看来,更有希望的方法。不幸的是,我对HTML不是很熟悉。 任何人都可以帮忙吗?

回答

1

或者,如果你真的只是想继续在QLabel使用表而不是div的HTML。但@saeed是对的,更好地使用它们之间的Qt布局和间隔。

例如用HTML:

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

谢谢,这解决了我的问题!这可能不是最好的解决方案,但对我来说,这是最快的实施方式。欢迎您将 – user1938616

+0

标记为已回答 – Xplatforms

0

我建议你使用两个Qlabels和一个水平间隔如下图,这是很快的,你可以让Qt处理整个设计布局。

some helpful image