Qt控件自绘:温度计
Qt本身只提供了一些基本控件,如果想搞一些复杂的,即使用上qss, 有些复杂的控件也还是无法实现的,例如汽车仪表盘, 电池容量等, 这些是 需要自己绘制,再实现相关信号槽,才能达到效果。例如下图 的温度计: 根据温度不同显示不同的温度标识,这种不规则的图形,用基本控件是无法实现的, 一般需要美工 画好图像,程序员根据图形做叠加绘制,下面就上面的温度计的实现做说明,并提供完整代码。 新建一个Qt GUI项目,我的项目名Wenduji, 在界面Qt Designer上推动如下控件: 两个QLabel和一个Widget, 这个Widget用来 放置温度计, 需要把它做“控件提升”。 其实温度计是一张png图片,我们把它 绘制到界面上,再用根据温度数值不同,做手工绘制,就能模拟出温度变化的样子。 新建一个类CThermometer,继承于QWidget, 该类中加载图片,绘制温度计,用于上图QWidget的提升。 右键widget, 提升为CThermometer,如下图: 来源: oschina 链接: https://my.oschina.net/u/4363105/blog/4482996