在QLCDNumber上设置厚度

时间:2011-12-11 10:50:03

标签: c++ qt

我是Qt的新手,现在我正在玩trolltech tutorial

我设法使用setPalette方法自定义QLCDNumber 颜色背景,但我似乎无法更改厚度。我知道没有字母,因此无法使用setFont方法,所以我尝试了setBrush,但仍然没有进展。

是否有可能以某种方式设定厚度?如果没有,请帮助我理解原因。


修改

正如@webclectic指出的那样,有必要重新实现paintEvent。但它会调用drawString,调用drawDigit,调用drawSegment类(??)see source中的QLCDNumberPrivate。我不知道如何重新实现它:因为没有方法是虚拟的,我必须重写它们,我是对的吗?除了完全改写课程之外还有其他方法吗?

1 个答案:

答案 0 :(得分:2)

我不认为你能达到你想要的效果,因为LCD编号的宽度是硬编码的(请查看thread)。

一种解决方案是继承QLcdNumber并重新实现paintEvent,您将在其中指定所需的宽度。