QPainter的渐变

一、线性渐变

    Q_UNUSED(event);

    QPainter painter;
    painter.begin(this);

    QLinearGradient ling(QPoint(0,0),QPoint(400,400));//参数1指定起始点,参数2指定结束点
    ling.setColorAt(0,Qt::blue);//指定起点颜色
    ling.setColorAt(1,Qt::green);//指定终点颜色
    ling.setSpread(QGradient::PadSpread);//设置起点和终点之外的显示模式

    QBrush brush(ling);
    painter.setBrush(brush);
    painter.drawRect(0,0,400,400);

    painter.end();

效果:
在这里插入图片描述
二、辐射渐变

    Q_UNUSED(event);

    QPainter painter;
    painter.begin(this);

    QRadialGradient radg(200,200,100,220,220);//参数(1,2)是辐射中点,参数3是辐射半径,参数(4,5)为渐变起点
    radg.setSpread(QGradient::PadSpread);
    radg.setColorAt(0,Qt::black);
    radg.setColorAt(1,Qt::white);
    QBrush brush(radg);
    painter.setBrush(brush);
    painter.drawRect(0,0,400,400);
    painter.end();

效果:
在这里插入图片描述
三、角度渐变

 		Q_UNUSED(event);

        QPainter painter;
        painter.begin(this);

        QConicalGradient cong(200,200,45.0);
        cong.setColorAt(0,Qt::black);
        cong.setColorAt(1,Qt::white);

        QBrush brush(cong);
        painter.setBrush(brush);
        painter.drawRect(0,0,400,400);
        painter.end();

效果:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值