我想扩展QLCDNumber以显示单位(例如旧计算器中的Deg / Rad / Grad选择器)以及数字。正如我在高层看到的那样,要独立于样式,应该扩展绘图区域,但限制QLCDNumber在扩展区域上绘图。然后油漆所需的。

另一种方法是使用QLCDNumber创建一个没有框架的复合控件,并使复合控件填充相同的背景色,并在QLCDNumber之外绘制其他文本。

然而,另一种方法是重载setValue()s.t。最后一位将为空,然后在此处绘制单位(甚至在内部使用QLabel)。

使事物运作并尽可能地独立于样式的最佳方法是什么?

谢谢!

最佳答案

如果您不介意在数字区域内显示的单位,并且对QLCDNumber已经提供的字符感到满意,则可以预格式化数字+单位文本并将其设置为as string

否则,我建议将QLCDNumberQLabel小部件打包到具有水平布局的自定义复合小部件中,您可以提供所需的方法,例如e。 G。

setValue(int value, const QString& units);

09-07 03:39