本章节我们介绍如何如何绘制刻度对应的数字及指针。效果如下:
关于通过继承重写QWidget的绘制事件paintEvent(),来绘制仪表盘的基础操作,请看上一章节《图形绘制-仪表盘(1)-CSDN博客》介绍。
在paintEvent()中继续写以下代码:
//保存和还原QPainter对象的状态 恢复到之前保存的状态,确保不影响其他绘图操作
painter.restore();
painter.save();
/*绘制刻度*/
painter.rotate(m_startAngle);//将坐标系顺时针旋转150°,到达起始位置
QPen penScale(Qt::blue);
painter.setPen(penScale);
int step = (m_maxSpeed - m_minSpeed) / (5*m_nultiple);
double angleStep = (360.0 - (m_startAngle - m_endAngle)) / step;
for (int i = m_minSpeed; i
{
if (i >= (100*m_nultiple)){ //绘制红色
penScale.setColor(Qt::red);<