https://www.bilibili.com/video/BV14P4y197pi
Qt 中绘图用到的类是 QPainter,可以实现点、线、矩形、圆形、多边形、圆弧、饼图、图片等的绘制
什么时候会用到绘图?
比如,绘制温度的曲线时,如下:
绘图最大的一个应用场景就是自定义控件,Qt 本身提供的一些控件是有限的,并且它提供的一些控件很可能不满足我们的需要
这种情况下, 就需要自定义控件了。
如下,是自定义的一个仪表盘,接下来会详细说明其功能
本节主要介绍本章要实现的效果
绘图用到的类是 QPainter
,本节的效果截图如下:
其实这里参考的是官方提供的 demo,路径为:C:\Qt\Examples\Qt-5.15.2\widgets\painting\basicdrawing
本节包含以下技术点:
可以绘制的图形包括:
画笔,对应 QPen
这个类,用于设置边框线的属性,包括:
画刷,对应 QBrush
类,用于设置边框内部填充的属性,包括:
变换
抗锯齿
在项目中需要一些简单的绘制时,比如绘制温度曲线,可以直接使用 QPainter
当然了,如果需要更加复杂的曲线绘制,或柱状图等的绘制时,可以使用如下两个:
后面会出一个专题:《Qt开发专题-绘制曲线》,专门讲解这两个类的使用
本节使用 Qt 中的 QPainter
,实现绘制高低温曲线,效果如下:
本节包含以下技术点:
绘图最大的一个应用场景就是自定义控件,Qt 本身提供的一些控件是有限的,并且它提供的一些控件很可能不满足我们的需要
这种情况下, 就需要自定义控件了。
其实在实际项目中,会大量使用自定义控件, 这样会使界面美观的多!
下面介绍下自定义实现的一个控件 - 仪表盘
其实,大家可以在百度图库中,搜索 “仪表盘”,可以看到很多仪表盘的样式
不过这些样式,都大差不差,比如下面两个:
它可以直观地显示检测目标的值,比简单地使用文本框显示,要高大上的多
如下,是我自定义实现的一个控件-仪表盘,如下:
其中的圆环、刻度、指针都有许多属性可以设置,以下是几种典型的外观:
该控件包括的技术点:
首先,通常需要自定义一个类,继承自 QWidget
;
然后,在布局中拖拽一个 QWidget
控件,并做提升
绘制
设置颜色
设置刻度的位置
圆环内侧
圆环外侧
圆环外侧(空隙)
颜色
样式
圆形
尖形
动画
范围
设置最大值和最小值
标题和单位
标题:比如,温度、湿度、电压、电流
单位:比如,°C
、%
、V
、A
颜色
用于设置标题和单位的颜色
背景
可以为整个控件添加一个背景色
禁能
设置控件不可用时,各个部分的颜色
说明:为什么会有禁能这种状态?
通常一个仪表盘对应一个设备,当在这个设备不在线时,就可以将控件设置为禁能,并设置各个部分的颜色为灰色
后面会出一个专题:《Qt开发专题 - 自定义控件》,这个仪表盘就是该专题的第一个控件