Qt——功能:圆形渐变填充(样式表)

测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK

 

填充效果:

 

radialGradient.h
#ifndef RADIALGRADIENT_H
#define RADIALGRADIENT_H

#include <QWidget>

class RadialGradient : public QWidget
{
    Q_OBJECT

public:
    RadialGradient(QWidget *parent = nullptr);
    ~RadialGradient();
};
#endif // RADIALGRADIENT_H

radialGradient.cpp
#include "radialgradient.h"
#include <QGridLayout>

RadialGradient::RadialGradient(QWidget *parent)
    : QWidget(parent)
{
    resize(1000, 1000);

    QGridLayout* layout = new QGridLayout();

    QWidget* w1 = new QWidget(this);
    w1->setStyleSheet("QWidget{background-color:qradialgradient(cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0 yellow, stop:0.99 yellow, stop:1 white)}");

    QWidget* w2 = new QWidget(this);
    w2->setStyleSheet("QWidget{background-color:qradialgradient(cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0 red, stop:0.99 yellow, stop:1 white)}");

    QWidget* w3 = new QWidget(this);
    w3->setStyleSheet("QWidget{background-color:qradialgradient(cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0 red, stop:0.5 blue, stop:0.99 yellow, stop:1 white)}");

    QWidget* w4 = new QWidget(this);
    w4->setStyleSheet("QWidget{background-color:qradialgradient(cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0 black, stop:0.99 yellow, stop:1 transparent)}");

    layout->addWidget(w1, 0, 0);
    layout->addWidget(w2, 0, 1);
    layout->addWidget(w3, 1, 0);
    layout->addWidget(w4, 1, 1);

    setLayout(layout);
}

RadialGradient::~RadialGradient()
{

}


main.cpp
#include "radialgradient.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    RadialGradient w;
    w.show();
    return a.exec();
}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值