QGradient渐变填充
QGradient渐变填充
QGradient
(一)简介
QGradient类与QBrush一起使用来指定渐变填充。
Qt目前支持三种类型的渐变填充:
- 线性渐变(QLinearGradient)
- 圆形渐变(QRadialGradient)
- 锥形渐变(QConicalGradient)
(二)枚举类型
1.spread
铺展效果
enum Spread { PadSpread, RepeatSpread, ReflectSpread }
- PadSpread:默认铺展效果,没有被渐变覆盖的区域填充单一的起始颜色或终止颜色
- RepeatSpread:渐变在渐变区域外重复,只对线性渐变和圆形渐变起作用
- ReflectSpread:渐变在渐变区域外反射,只对线性渐变和圆形渐变起作用
2.CoordinateMode
该枚举指定了渐变坐标如何映射到使用渐变的绘制设备。
enum CoordinateMode { LogicalMode, StretchToDeviceMode, ObjectBoundingMode }
- LogicalMode: 这是默认模式。渐变坐标是指定的逻辑空间,就像对象坐标。
- StretchToDeviceMode:在此模式下,渐变坐标相对于绘制设备的边界矩形,(0,0)位于绘制设备的左上角,(1,1)位于绘制设备的右下角
- ObjectBoundingMode:在此模式下,渐变坐标相对于被绘制对象的边界矩形,(0,0)在该对象边界矩形的左上角,(1,1)在该对象边界矩形的右下角
3.type
渐变类型
enum Type { LinearGradient, RadialGradient, ConicalGradient, NoGradient }
- LinearGradient:线性渐变
- RadialGradient:圆形渐变
- ConicalGradient: 锥形渐变
- NoGradient
(三)常用函数
1.coordinateMode()
CoordinateMode coordinateMode() const
返回这个梯度的坐标模式。默认模式是LogicalMode。
2.setColorAt()
void setColorAt(qreal position, const QColor &color)
它的意思是把position位置的颜色设置成color。其中,position是一个0 - 1区间的数字。也就是说,position是相对于我们建立渐变对象时做的那个起始点和终止点区间的。0.0是起点,1.0是终点;setColorAt(0.3,Qt::white),设置起终点之间1/3位置为白色
3.setCoordinateMode()
void setCoordinateMode(CoordinateMode mode)
将这个渐变的坐标模式设置为模式。默认模式是LogicalMode。
4.setSpread()
void setSpread(Spread method)
指定应用于此渐变的扩展方法。
注意,这个函数只对线性和圆形渐变有效。
5.setStops()
void setStops(const QGradientStops &stopPoints)
用给定的停止点替换当前停止点集。点的位置必须在0到1的范围内,并且必须首先以最低点排序。
6.Spread()
Spread spread() const
7.stops()
QGradientStops stops() const
8.types()
Type type() const
QGradient渐变填充的更多相关文章
- Qt 2D绘图之一:基本图形绘制和渐变填充
Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕和绘图设备上进行绘制,它主要基于QPainter.QPaintDevice和QPaintEngine这三个类.它们三者的关系如下图所示: QP ...
- Qt之图形(渐变填充)
简述 QGradient可以和QBrush组合使用,来指定渐变填充. Qt目前支持三种类型的渐变填充: QLinearGradient:显示从起点到终点的渐变. QRadialGradient:以圆心 ...
- [Xcode 实际操作]二、视图与手势-(7)UIView视图的渐变填充
目录:[Swift]Xcode实际操作 本文将演示创建一个具有渐变填充色的图形 import UIKit class ViewController: UIViewController { overri ...
- canvas放射性渐变填充
今天在学习canvas时,遇到canvas的fillstyle有一个createRadialGradient()方法,创建放射性渐变. 上代码: <!DOCTYPE html> <h ...
- Qt 2D绘图 渐变填充(三种渐变方式)
在qt中提供了三种渐变方式,分别是线性渐变,圆形渐变和圆锥渐变.如果能熟练应用它们,就能设计出炫目的填充效果. 线性渐变: 1.更改函数如下: void Dialog::paintEvent(QPai ...
- Photoshop 画布的渐变填充
之前丢掉的要开始慢慢的捡起来,因为学如逆水行舟,不进则退.古人诚不欺我等. 1.新建图层,或者就在当前图层进行操作,选择图层 2.工具箱---1渐变工具---2径向渐变---模式--正常.不透明100 ...
- Java基础之在窗口中绘图——渐变填充(GradientApplet 1)
Applet程序. import javax.swing.*; import java.awt.*; import java.awt.geom.*; @SuppressWarnings("s ...
- VC 实现视图区背景颜色渐变填充
void CSTest1View::OnDraw(CDC* pDC) { CSTest1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: ...
- 每日一笔记之2:QT之坐标系统:
以前一直多单片机开发,也没怎么使用过大的显示器,第一次学习,备忘: QT画图系统. 绘图,通过QPainter类实现. Qt的绘图系统对底层函数进行了良好的封装,使得在屏幕和设备的绘图功能可能使用相同 ...
- html5 canvas 填充渐变形状
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- 即构携手智能对讲机品牌Runbo,打造可视化对讲通信系统
现代通信技术的发展,让信息的传递变得前所未有的便捷.作为双向移动通信工具,对讲机不需要网络支持就可以进行通话,且没有话费产生,尤其适合酒店.物业等使用区域固定.通话频繁的场景. 随着技术的不断迭代,对 ...
- Day07_Java_作业
A:简答题 1. 构造方法的作用是什么?构造方法的特点是什么?构造方法的注意事项? 构造方法中可不可以写return语句呢? 2. 一个类的缺省构造方法可以有参数吗? 3. 静态代码块和构造代码块的特 ...
- Flutter系列文章-Flutter进阶2
这一节我将再详细地为您介绍 Flutter 进阶主题,包括导航和路由.状态管理.异步处理.HTTP请求和Rest API,以及数据持久化.让我们逐个介绍这些主题. 1.导航和路由 在 Flutter ...
- rman catalog 遇到的一个错误
[oracle@source admin]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Thu Jun 22 09: ...
- asp.net core之日志
日志记录在应用程序开发中起着至关重要的作用,它可以帮助开发人员诊断和调试问题,同时也是监控和性能优化的重要工具.ASP.NET Core 提供了强大且灵活的日志记录功能,本文将详细介绍ASP.NET ...
- FlinkSQL类型系统
类型有什么作用, 类型可以提供编译期检查, 避免到运行期才报错. 类型 首先Flink中自己定义了一套类型, 有LogicalType和DataType两个表示 LogicalType Logical ...
- 【Qt6】QWidgetAction 的使用
在开始主题前,先看一个 C++ 例子: #include <iostream> struct Data { int a; int b; }; // 注意这里 struct Data *s; ...
- WPF中非递归(无后台代码)动态实现TreeView
在UI界面中,树形视图是比较常用的表示层级结构的方式,WPF中提供了TreeView控件.对于TreeView控件的基本使用已经有很多文章.大都是介绍如何在XAML中使用硬编码的固定信息填充Treev ...
- Callback Function Essence
Include Example Input: I am a. route execute finish. I am b. route execute finish. What is Callback ...
- centos7.X安装mysql5.7 – 东凭渭水流
1.下载mysql5.7 可以使用windows下载好后上传至Linux.网络条件好的推荐使用 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/m ...