渐变,是指逐渐的,有规律性的变化,是一种规律性很强的现象。提供了一个与渐变相关的QGradient类,目前支持三种渐变画刷,分别是线性渐变(QLinearGradient)、辐射渐变(QRadialGradient)、角度渐变(QConicalGradient),如下图所示:

从左到右依次为:线性渐变、辐射渐变、角度渐变

下面来看一下实现的代码,由于程序较简单,所以将解释都加在了每行代码的后边:

1.线性渐变QLinearGradient1

2

3

4

5

6

7

8

9

10

11QPainter painter(this);//创建了一个QPainter对象实例

painter.setRenderHint(QPainter::Antialiasing, true);//消除锯齿

QLinearGradient linearGradient(20,20, 150, 150);

//创建了一个QLinearGradient对象实例,参数为起点和终点坐标

linearGradient.setColorAt(0.2, Qt::white);

linearGradient.setColorAt(0.4, Qt::blue);

linearGradient.setColorAt(0.6, Qt::red);

linearGradient.setColorAt(1.0,Qt::yellow);

//上面的四行分别设置渐变的颜色和路径比例

painter.setBrush(QBrush(linearGradient));//将linearGradient对象传递给画刷

painter.drawEllipse(10,10, 150, 150);//在相应的坐标画出来

2.辐射渐变QRadialGradient1

2

3

4

5

6QRadialGradient radialGradient(275,85,75,275,85);

//创建了一个QRadialGradient对象实例,参数分别为中心坐标,半径长度和焦点坐标

radialGradient.setColorAt(0,Qt::black);

radialGradient.setColorAt(1.0,Qt::green);//设置渐变的颜色和路径比例

painter.setBrush(QBrush(radialGradient));

painter.drawEllipse(200,10,150,150);//在相应的坐标画出来

3.角度渐变QConicalGradient1

2

3

4

5

6QConicalGradient conicalGradient(465,85,10);

//创建了一个QConicalGradient对象实例,参数分别为中心坐标和初始角度

conicalGradient.setColorAt(0,Qt::white);

conicalGradient.setColorAt(0.8,Qt::blue);//设置渐变的颜色和路径比例

painter.setBrush(QBrush(conicalGradient));

painter.drawEllipse(390,10,150,150);//在相应的坐标画出来

linux 终端 渐变色,QT学习笔记-渐变填充相关推荐

  1. qt linux 鼠标事件,QT学习笔记5:QMouseEvent鼠标事件简介

    一.QMouseEvent的详细描述 首先请注意,Qt中的QMouseEvent一般只涉及鼠标左键或右键的单击.释放等操作,而对鼠标滚轮的响应则通过QWheeEvent来处理. QMouseEvent ...

  2. QT学习笔记(十一):QString类

    QT学习笔记(十一):QString类 1.概述 2.编辑操作 3.查询操作 3.转换操作 1.概述 1.1 QString 类是 Qt 中用于表示字符串的类,实现在 QtCore 共享库中.QStr ...

  3. 九十分钟极速入门Linux——Linux Guide for Developments 学习笔记

    转载自: 九十分钟极速入门Linux--Linux Guide for Developments 学习笔记 http://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA ...

  4. Qt学习笔记之文件处理

    Qt提供了通用的文件处理类QFile和处理文本的QTextStream类和处理二进制数据的QDataStream类,这些流操作极大地方便了对文件的督促存储.对文件信息和目录进行操作的类是QfileIn ...

  5. Qt学习笔记之国际化

    国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),一个应用程序的国际化就是使该应用程序可以让其他国家的用户使用的过程. 1. 相关的Qt类和AP ...

  6. QT学习笔记(十):通用算法示例

    QT学习笔记(十):通用算法示例 std是C++标准库统一使用的命名空间(namespace)的名称,C++标准库中的名字全部都在std这个命名空间中,std也就是英文"standard&q ...

  7. QT学习笔记(二):QT MinGW 和 MSVC 编译方式

    QT学习笔记(二):QT MinGW 和 MSVC 编译方式 Qt 中有两种方式编译:一种是MinGW ,另一种MSVC,是使用两种不同的编译器. 1.MSVC是指微软的VC编译器: 2.MingGW ...

  8. Qt 学习笔记(5)绘图 五子棋游戏

    在上一篇博客C++ Qt学习笔记(4)绘图中介绍了Qt中的绘图方法,基于上一篇的博客的知识,使用QPainter设计一个五子棋的棋盘,后续会完成五子棋的游戏设计. 1. 棋盘的设计 首先需要绘制棋盘的 ...

  9. QT学习笔记之对话框

    QT学习笔记之对话框 对话框是一种用户界面(窗口),它的主要功能是输出信息和接收用户的输入.在每个对话框内一般都有一些控件,对话框依靠这些控件与用户进行交互. 1)       模式对话框:用户只能与 ...

最新文章

  1. 速度比晶体管快1000倍,新型单光子开关登上Nature
  2. emca 更改监听端口
  3. 优秀logo设计解析_必修课 | 抛开固有思维,品牌amp;logo设计不求人!
  4. 基于PageRank的作弊检测算法
  5. 如何配置Xshell连接Ubuntu
  6. zabbix巡检脚本
  7. python下载文件保存_从URL下载文件并将其保存在Python文件夹中
  8. Linux下如何查看哪些进程占用的CPU内存资源最多
  9. TIM SWEENEY:引擎及图形学的未来
  10. yolo-v5连接手机摄像头实时检测的步骤
  11. 微信小程序码的生成(java)
  12. 《C语言及程序设计》程序阅读——数组与指针
  13. 谁能告诉我,这个所谓的CSDN下载码下载码有什么用?没用?!
  14. rose服务器系统,Rose HA for windows
  15. 国内外最好的语料库汇总
  16. Adobe Creative Cloud 2022 (macOS、Windows) TNT 合集
  17. CodeForces 140C New Year Snowm
  18. java简易计算器报告_简易计算器java实训报告.docx
  19. 最新Xpay全开源无授权免签约支付系统源码V3.1版本
  20. 我的2011--虚荣、挣扎、总结和转变的一年

热门文章

  1. 一个Shopee大卖家的运营心得:如何做好Shopee店铺?
  2. 阻塞队列,有界队列,无界队列
  3. iPhone12国行版和美版有什么不同 iPhone12国行版价格汇总
  4. 水满自溢「限流算法第四把法器:漏桶算法」- 第303篇
  5. linux下实现定时执行php脚本
  6. [初学python]苹果何时开放IOS降级通道啊?
  7. IntelliJ IDEA安装教程(2023年,3月)
  8. Ubuntu18.04 将可执行文件添加桌面或收藏夹,使点击运行
  9. Spring入门介绍
  10. 局域网同一个网段通信过程