Qt5 渐变
2017-03-29 15:41
120 查看
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();
}
相关文章推荐
- Qt5:渐变效果的实现
- 如何创建[圆角、边框色彩渐变、边框宽度自定义]窗体
- 【Android - 自定义View】之自定义颜色渐变的Tab导航栏
- 大学四年对比度:看的见的青春渐变
- 解析ScrollView--仿QQ空间标题栏渐变
- 我对图形变换滤镜的收集(CSS渐变滤镜大全)
- CSS3 渐变色彩
- 单元格颜色渐变的GridView
- Ubuntu Qt5 实现打开多张本地图片并显示到窗口功能
- 用css实现网页背景渐变的代码
- Android底部bottom的渐变实现
- 如何让网页产生渐变效果
- (182)渐变
- 在Illustrator中表现矢量半透明渐变
- jQuery 小特效【文本框折叠隐藏,展开显示】【下拉菜单】【颜色渐变】【弹窗+遮罩】
- 通用C#代码:实现"控件渐变"
- HTML网页设计之div渐变背景色
- 网页背景渐变
- Qt5解决中文乱码方法
- 模糊渐变的图片轮转效果