Qt wifi控制元件繪製
阿新 • • 發佈:2019-01-06
QQ:609162385
https://blog.csdn.net/cqltbe131421
繪製方法:
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);