Qt控件自绘:温度计

混江龙づ霸主 提交于 2020-08-14 12:11:47

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

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

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

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

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

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!