为了深入熟悉Qt的绘画,简单的绘制了一个仪表板就当记录一下熟悉的结果
绘画逻辑比较简单,直接上代码
根据速度,计算刻度线的颜色
QColor DrewRing::calutePenColor(int num)
{
if (num <= 120) {
return Qt::green;
}
else if (120 < num && num<= 180){
return Qt::yellow;
}
else if (180 < num && num <= valueMax){
return Qt::red;
}
}
绘制刻度线和刻度文字
void DrewRing::drawMarkText(QPainter &p)
{
int radius = qMin(width(), height())/2;
qreal one = caluteOneValueOneC();
p.rotate(135);
p.setPen(QPen(Qt::white, 1));
p.setFont(QFont("微软雅黑", 15));
for(int i=valueMin; i<=valueMax; ++i) {
QColor color = calutePenColor(i);
p.setPen(color);
if