Qt wifi控件绘制_qt

绘制方法:

  QPainter painter(this);
painter.save();
painter.setPen(Qt::NoPen);
QLinearGradient bgGradient(QPointF(0, 0), QPointF(0, height()));
bgGradient.setColorAt(0.0, QColor(0, 0, 0));
bgGradient.setColorAt(1.0, QColor(0, 0, 0));
painter.setBrush(bgGradient);
painter.drawRect(rect());
painter.restore();
painter.translate(width()/2, height()*0.85);
painter.setRenderHint(QPainter::Antialiasing, true);
//绘制背景条
gradientArc(&painter, radius*0.8, 45, 90, arcHeight, qRgb(54, 54, 54));
gradientArc(&painter, radius*0.6, 45, 90, arcHeight, qRgb(54, 54, 54));
gradientArc(&painter, radius*0.4, 45, 90, arcHeight, qRgb(54, 54, 54));
gradientArc(&painter, radius*0.2, 45, 90, arcHeight, qRgb(54, 54, 54));

if(wifiQuality == 0){

}else if(wifiQuality == 1)
{
gradientArc(&painter, radius*0.2, 45, 90, arcHeight, qRgb(255, 255, 255));
}else if(wifiQuality == 2)
{
gradientArc(&painter, radius*0.4, 45, 90, arcHeight, qRgb(255, 255, 255));
gradientArc(&painter, radius*0.2, 45, 90, arcHeight, qRgb(255, 255, 255));
}else if(wifiQuality == 3)
{
gradientArc(&painter, radius*0.6, 45, 90, arcHeight, qRgb(255, 255, 255));
gradientArc(&painter, radius*0.4, 45, 90, arcHeight, qRgb(255, 255, 255));
gradientArc(&painter, radius*0.2, 45, 90, arcHeight, qRgb(255, 255, 255));
}else if(wifiQuality == 4)
{
gradientArc(&painter, radius*0.8, 45, 90, arcHeight, qRgb(255, 255, 255));
gradientArc(&painter, radius*0.6, 45, 90, arcHeight, qRgb(255, 255, 255));
gradientArc(&painter, radius*0.4, 45, 90, arcHeight, qRgb(255, 255, 255));
gradientArc(&painter, radius*0.2, 45, 90, arcHeight, qRgb(255, 255, 255));
}

painter.translate(0, height()*0.05);
painter.setBrush(QColor(255, 255, 255));
painter.drawEllipse(QPointF(0,0),arcLength,arcLength);