主要应用到颜色渐变
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing,true); //反走样开启
const int r = 150;
QConicalGradient conicalGradient(0, 0, 0); //创建渐变 前两个参数是渐变的中心点 第三个参数是渐变的角度
conicalGradient.setColorAt(0.0, Qt::red); //设置角度渐变各个区间
conicalGradient.setColorAt(60.0/360.0, Qt::yellow);
conicalGradient.setColorAt(120.0/360.0, Qt::green);
conicalGradient.setColorAt(180.0/360.0, Qt::cyan);
conicalGradient.setColorAt(240.0/360.0, Qt::blue);
conicalGradient.setColorAt(300.0/360.0, Qt::magenta);
conicalGradient.setColorAt(1.0, Qt::red);
painter.translate(r, r); //将坐标系的原点设置为(r,r)
QBrush brush(conicalGradient);
painter.setPen(Qt::NoPen);
painter.setBrush(brush);
painter.drawEllipse(QPoint(0, 0), r, r);
}
效果图