画渐变色的圆弧练习

2024-05-01 20:52
文章标签 练习 渐变色 圆弧

本文主要是介绍画渐变色的圆弧练习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

import sysfrom PySide6.QtCore import QPointF
from PySide6.QtWidgets import *
from PySide6.QtGui import *class MyWidget(QWidget):def paintEvent(self, event):painter = QPainter(self)  # 设定画板painter.setRenderHint(QPainter.Antialiasing)  # 抗锯齿size = min(self.width(), self.height())center_pos = QPointF(size / 2, size / 2)radius = size / 2color = QColor(255, 0, 0)    # 初始颜色gradient = QConicalGradient(center_pos, 0)  # 锥形梯度,中心点和起始角度gradient.setColorAt(0, color)      # 设置起始颜色color.setAlpha(10)                 # 改变颜色的透明度gradient.setColorAt(1, color)    # 设置终点颜色painter.setPen(QPen(gradient, 10, Qt.SolidLine))     # 设置画笔painter.drawArc(10, 10, 280, 280, 0, 360 * 16)       # 画最外圈圆弧color.setAlpha(255)  # 恢复颜色的透明度gradient.setAngle(180)         # 改变渐变的起始角度gradient.setColorAt(0, color)  # 设置起始颜色color.setAlpha(10)  # 改变颜色的透明度gradient.setColorAt(0.5, color)  # 设置终点颜色painter.setPen(QPen(gradient, 10, Qt.SolidLine))  # 设置画笔painter.drawArc(30, 30, 240, 240, 180 * 16, 180 * 16)   # 画第二圈圆弧color.setAlpha(255)  # 恢复颜色的透明度gradient.setAngle(90)  # 改变渐变的起始角度gradient.setColorAt(0, color)  # 设置起始颜色color.setAlpha(10)  # 改变颜色的透明度gradient.setColorAt(0.5, color)  # 设置起始颜色painter.setPen(QPen(gradient, 10, Qt.SolidLine))  # 设置画笔painter.drawArc(50, 50, 200, 200, 270 * 16, -180 * 16)  # 画最内圈圆弧color.setAlpha(255)  # 恢复颜色的透明度if __name__ == '__main__':app = QApplication(sys.argv)widget = MyWidget()widget.resize(300, 300)widget.show()sys.exit(app.exec())

知识点:

        setAlpha() :单独改变颜色的透明度

        setAngle():单独改变渐变的起始角度

        注意渐变和圆弧的角度都是逆时针计算的。

        画圆弧用setPen(),画饼(pie)或者别的实心填充图形用setBrush()。

 

这篇关于画渐变色的圆弧练习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/952644

相关文章

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。 AMQP 0-9-1模型的核心概念包括消息发布者(producers/publisher)、消息(messages)、交换机(exchanges)、

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

MySql 事务练习

事务(transaction) -- 事务 transaction-- 事务是一组操作的集合,是一个不可分割的工作单位,事务会将所有的操作作为一个整体一起向系统提交或撤销请求-- 事务的操作要么同时成功,要么同时失败-- MySql的事务默认是自动提交的,当执行一个DML语句,MySql会立即自动隐式提交事务-- 常见案例:银行转账-- 逻辑:A给B转账1000:1.查询

html css jquery选项卡 代码练习小项目

在学习 html 和 css jquery 结合使用的时候 做好是能尝试做一些简单的小功能,来提高自己的 逻辑能力,熟悉代码的编写语法 下面分享一段代码 使用html css jquery选项卡 代码练习 <div class="box"><dl class="tab"><dd class="active">手机</dd><dd>家电</dd><dd>服装</dd><dd>数码</dd><dd

014.Python爬虫系列_解析练习

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈 优

如何快速练习键盘盲打

盲打是指在不看键盘的情况下进行打字,这样可以显著提高打字速度和效率。以下是一些练习盲打的方法: 熟悉键盘布局:首先,你需要熟悉键盘上的字母和符号的位置。可以通过键盘图或者键盘贴纸来帮助记忆。 使用在线打字练习工具:有许多在线的打字练习网站,如Typing.com、10FastFingers等,它们提供了不同难度的练习和测试。 练习基本键位:先从学习手指放在键盘上的“家位”开始,通常是左手的

anaconda3下的python编程练习-csv翻译器

相关理解和命令 一、环境配置1、conda命令2、pip命令3、python命令 二、开发思路三、开发步骤 一、环境配置 1、conda命令 镜像源配置 conda config --show channels //查看镜像源conda config --remove-key channels //删除添加源,恢复默认源#添加镜像源conda config --ad

推荐练习键盘盲打的网站

对于初学者来说,以下是一些推荐的在线打字练习网站: 打字侠:这是一个专业的在线打字练习平台,提供科学合理的课程设置和个性化学习计划,适合各个水平的用户。它还提供实时反馈和数据分析,帮助你提升打字速度和准确度。 dazidazi.com:这个网站提供了基础的打字练习,适合初学者从零开始学习打字。 Type.fun打字星球:提供了丰富的盲打课程和科学的打字课程设计,还有诗词歌赋、经典名著等多样

综合DHCP、ACL、NAT、Telnet和PPPoE进行网络设计练习

描述:企业内网和运营商网络如上图所示。 公网IP段:12.1.1.0/24。 内网IP段:192.168.1.0/24。 公网口PPPOE 拨号采用CHAP认证,用户名:admin 密码:Admin@123 财务PC 配置静态IP:192.168.1.8 R1使用模拟器中的AR201型号,作为交换路由一体机,下图的WAN口为E0/0/8口,可以在该接口下配置IP地址。 可以通过