Qt控件自绘:温度计控件

      Qt本身只提供了一些基本控件,如果想搞一些复杂的,即使用上qss, 有些复杂的控件也还是无法实现的,例如汽车仪表盘, 电池容量等, 这些是 需要自己绘制,再实现相关信号槽,才能达到效果。例如下图 的温度计:

Qt控件自绘:温度计控件_第1张图片

      根据温度不同显示不同的温度标识,这种不规则的图形,用基本控件是无法实现的, 一般需要美工 画好图像,程序员根据图形做叠加绘制,下面就上面的温度计的实现做说明,并提供完整代码。

      新建一个Qt GUI项目,我的项目名Wenduji, 在界面Qt Designer上推动如下控件:

Qt控件自绘:温度计控件_第2张图片

        两个QLabel和一个Widget, 这个Widget用来 放置温度计, 需要把它做“控件提升”。 其实温度计是一张png图片,我们把它 绘制到界面上,再用根据温度数值不同,做手工绘制,就能模拟出温度变化的样子。

        新建一个类CThermometer,继承于QWidget, 该类中加载图片,绘制温度计,用于上图QWidget的提升。

        右键widget, 提升为CThermometer,如下图:

你可能感兴趣的:(Qt开发进阶教程)