示例#1
0
void myGauge2::drawInnerCircle(QPainter *painter)
{
    painter->save();
    QRadialGradient innerGradient(m_center,m_innerRadius,m_center);
    innerGradient.setColorAt(0.0,QColor(130,130,130));
    innerGradient.setColorAt(0.7,QColor(130,130,130));
    innerGradient.setColorAt(1.0,QColor(80,80,80));
    painter->setPen(Qt::NoPen);
    painter->setBrush(innerGradient);
    painter->drawEllipse(m_center,m_innerRadius,m_innerRadius);

    painter->restore();
}
void PSV_CircularIndicatorItem::drawInnerCircle(int zValue)
{
    qreal innerRadius = m_innerRadiusRatio * m_outerRadius;
    QRadialGradient innerGradient(m_rect.center(), innerRadius, m_rect.center());
    innerGradient.setColorAt(0.0, QColor(130, 130, 130));
    innerGradient.setColorAt(0.7, QColor(130, 130, 130));
    innerGradient.setColorAt(1.0, QColor(80, 80, 80));
    //==
    QPen pen(Qt::NoPen);
    QRectF rect(m_rect.center().x()-innerRadius, m_rect.center().y()-innerRadius, innerRadius*2, innerRadius*2);
    QGraphicsEllipseItem* item = new QGraphicsEllipseItem(rect, this);
    item->setPen(pen);
    item->setBrush(innerGradient);
    item->setZValue(zValue);
}