void MainWindow::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing,true);
painter.save();
//线性渐变
QLinearGradient linearGradient(100,150,150,100);//渐变起点终点坐标表示方向
linearGradient.setColorAt(0.0,Qt::red);
linearGradient.setColorAt(0.2,Qt::green);
linearGradient.setColorAt(0.4,Qt::blue);
linearGradient.setColorAt(0.6,Qt::cyan);
linearGradient.setColorAt(0.8,Qt::magenta);
linearGradient.setColorAt(1.0,Qt::red);
QBrush brush(linearGradient);
painter.setBrush(brush);
painter.drawEllipse(100,100,150,150);
//角度渐变
QConicalGradient conicalGradient(400,400,0);//中心坐标,起始角度
conicalGradient.setColorAt(0.0,Qt::red);
conicalGradient.setColorAt(0.2,Qt::green);
conicalGradient.setColorAt(0.4,Qt::blue);
conicalGradient.setColorAt(0.6,Qt::cyan);
conicalGradient.setColorAt(0.8,Qt::magenta);
conicalGradient.setColorAt(1.0,Qt::red);
brush = conicalGradient;
painter.setBrush(brush);
painter.drawEllipse(300,300,200,200);
//辐射渐变
QRadialGradient radialGradient(700,500,100,700,500);//中心坐标,半径,焦点坐标
radialGradient.setColorAt(0.0,Qt::red);
radialGradient.setColorAt(0.2,Qt::green);
radialGradient.setColorAt(0.4,Qt::blue);
radialGradient.setColorAt(0.6,Qt::cyan);
radialGradient.setColorAt(0.8,Qt::magenta);
radialGradient.setColorAt(1.0,Qt::yellow);
brush = radialGradient;
painter.setBrush(brush);
painter.drawEllipse(600,400,200,200);
painter.restore();
}