当前位置: 首页 > news >正文

使用pyqt绘制一个爱心!

使用pyqt绘制一个爱心!

  • 介绍
  • 效果
  • 代码

介绍

  • 使用pyqt绘制一个爱心!

效果

在这里插入图片描述

代码

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget
from PyQt5.QtGui import QPainter, QPen, QBrush, QColor
from PyQt5.QtCore import Qt, QPointF
import numpy as npclass HeartWidget(QWidget):def __init__(self):super().__init__()self.setWindowTitle('Heart Shape with PyQt5')self.setGeometry(100, 100, 800, 600)def paintEvent(self, event):painter = QPainter(self)painter.setRenderHint(QPainter.Antialiasing)# Generate heart shape coordinatest = np.linspace(0, 2 * np.pi, 1000)x = 16 * np.sin(t)**3y = -(13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.cos(3 * t) - np.cos(4 * t))# Normalize coordinatesx = (x - min(x)) / (max(x) - min(x)) * self.width()y = (y - min(y)) / (max(y) - min(y)) * self.height()# Set gradient colorscolors = [QColor.fromHsvF(i / len(t), 1.0, 1.0) for i in range(len(t))]# Draw heart shapefor i in range(len(t) - 1):painter.setPen(QPen(colors[i], 2))painter.drawLine(QPointF(x[i], y[i]), QPointF(x[i + 1], y[i + 1]))# Fill heart shape with gradient colorspainter.setPen(Qt.NoPen)painter.setBrush(QBrush(Qt.SolidPattern))for i in range(len(t) - 1):painter.setBrush(QBrush(colors[i]))painter.drawPolygon(QPointF(x[i], y[i]), QPointF(x[i + 1], y[i + 1]), QPointF(self.width() / 2, self.height() / 2))class MainWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle('Heart Shape with PyQt5')self.setGeometry(100, 100, 800, 600)self.setCentralWidget(HeartWidget())if __name__ == '__main__':app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec_())
http://www.lryc.cn/news/354314.html

相关文章:

  • 关于 Transformer 的11个常见面试题
  • OS多核多线程锁记录笔记
  • nginx做TCP代理
  • python 异常处理 try
  • 月入10万+管道收益,揭秘旅游卡运营的5个阶段!
  • android_binder源码分析之_binder驱动使用服务
  • 【波点音乐看广告】
  • [SWPUCTF 2021 新生赛]pop
  • 【DevOps】Jenkins + Dockerfile自动部署Maven(SpringBoot)项目
  • 【C++】——入门基础知识超详解
  • ChatGPT技术演进简介
  • C语言 | Leetcode C语言题解之第114题二叉树展开为链表
  • Vue 子组件向父组件传值
  • 【前端笔记】Vue项目报错Error: Cannot find module ‘webpack/lib/RuleSet‘
  • edge浏览器的网页复制
  • 视频播放器-Kodi
  • Helm安装kafka3.7.0无持久化(KRaft 模式集群)
  • 【机器学习】期望最大化(EM)算法
  • 【Python】机器学习中的过采样和欠采样:处理不平衡数据集的关键技术
  • 重新思考:Netflix 的边缘负载均衡
  • 元组的创建和删除
  • CSS3用户界面
  • STL源码刨析:序列式容器之vector
  • Flutter 中的 AbsorbPointer 小部件:全面指南
  • Web开发学习总结
  • springboot相关知识集锦----1
  • App推广新境界:Xinstall助你轻松突破运营痛点,实现用户快速增长!
  • YOLOv10 论文学习
  • [Spring Boot]baomidou 多数据源
  • Drone+Gitee自动执行构建、测试和发布工作流