使用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.pswp.cn/web/15652.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15652.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15652.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[保姆式教程]使用目標檢測模型YOLO V8 OBB進行旋轉目標的檢測:訓練自己的數據集(基于衛星和無人機的農業大棚數據集)

最近需要做基于衛星和無人機的農業大棚的旋轉目標檢測,基于YOLO V8 OBB的原因是因為嘗試的第二個模型就是YOLO V8,后面會基于YOLO V9模型做農業大棚的旋轉目標檢測。YOLO V9目前還不能進行旋轉目標的檢測,需要修改代碼 PS:歡迎大家分享農業大…

【研發日記】Matlab/Simulink技能解鎖(九)——基于嵌入式處理器仿真

文章目錄 前言 基于嵌入式處理器仿真 使用方式 第一步,硬件連接 第二步,配置硬件資源 第三步,配置XCP協議 第四步,加載Contrl Model 第五步,運行仿真 第六步,仿真報告 分析和應用 總結 參考資料 前言…

無線技術整合到主動噪聲控制(ANC)增強噪聲降低性能

主動噪聲控制(ANC)已成為一種廣泛使用的降噪技術。基本原理是通過產生與外界噪音相等的反向聲波,將噪音中和,從而達到降噪的效果。ANC系統通常包括以下幾個部分:參考麥克風、處理芯片、揚聲器和誤差麥克風。參考麥克風…

家政保潔服務小程序怎么做?家政公司快速搭建專屬小程序

在數字化時代背景下,家政保潔服務行業也迎來了線上轉型的新機遇。家政保潔服務小程序,作為一種新型的線上服務平臺,不僅能夠提升家政公司的服務效率,還能為顧客提供更加便捷的預約上門服務體驗。那么家政保潔服務小程序怎么做呢&a…

AI與量子計算:科技新時代的雙重飛躍

在科技的浪潮中,每一次技術革新都如同一次深海潛行,探尋著未知的奧秘。近年來,人工智能(AI)和量子計算兩大領域的發展尤為引人注目,它們不僅代表了科技的未來趨勢,更是人類社會進步的強大動力。本文將深入探討這兩項技術的最新進展、潛在影響以及它們之間的潛在聯系。 …

2024年3月小程序類目調整匯總公告

各位小程序開發者: 為進一步加強平臺的規范管理,優化開發者類目選擇體驗,現對以下類目進行調整,請各位開發者知悉。 類目調整 #【文娛-小說】 現資質要求 (3選1): 1、提供《互聯網出版許可…

從零開始搭建一個SpringBoot項目

目錄 Spring BootSpring Boot 項目開發環境1、快速創建SpringBoot項目2、pom.xml 添加 Meavn 依賴3、配置application.yml4、驗證數據庫是否連接成功5、配置 Druid 數據源 Spring Boot 整合 MyBatis1、準備依賴2、application-dev.yml 配置3、啟動類添加Mapper接口掃描器4、設置…

BWVS 靶場測試

一、PHP弱類型 is_numeric() 輸入:127.0.0.1/BWVS/bug/php/code.php # 1、源代碼分析 如果num不是數字,那么就輸出num,同時如果num1,就輸出flag。即num要是字符串又要是數字 # 2、函數分析: is_numeric()函數&…

使用Nginx的Mirror模塊的指南

Nginx 是一個廣泛使用的 web 服務器和反向代理服務器,性能出色且易于配置。Nginx 提供了各種模塊來擴展其功能,其中一個有用的模塊是 mirror 模塊。本文將詳細介紹 Nginx 的 mirror 模塊,包括其用途、使用場景、注意事項以及示例代碼。 1. m…

《最新出爐》系列入門篇-Python+Playwright自動化測試-40-錄制生成腳本

宏哥微信粉絲群:https://bbs.csdn.net/topics/618423372 有興趣的可以掃碼加入 1.簡介 各種自動化框架都會有腳本錄制功能, playwright這么牛叉當然也不例外。很早之前的selenium、Jmeter工具,發展到每種瀏覽器都有對應的錄制插件。今天我們…

牛客NC392 參加會議的最大數目【中等 貪心+小頂堆 Java/Go/PHP 力扣1353】

題目 題目鏈接: https://www.nowcoder.com/practice/4d3151698e33454f98bce1284e553651 https://leetcode.cn/problems/maximum-number-of-events-that-can-be-attended/description/ 思路 貪心優先級隊列Java代碼 import java.util.*;public class Solution {/**…

java面試高級篇(JVM、Mysql、Redis、Kafka)

文章目錄 面試專題-java高級篇1. JVM有做過jvm的調優嗎?常用的jvm參數調優有哪些?如果jvm持續一段時間頻繁的發生Young GC (輕GC) 可能原因有哪些? 2. Mysql2.1. 基本功(見為知筆記)2.2. 什么是索引2.3. 索引的優劣勢2.4. MySQL的索引結構2.4.1. B-Tree索引2.4.2. BTree索引…

外賣系統源碼開發全攻略:外賣小程序與后臺管理系統的設計與實現

今天,小編將詳細介紹外賣系統源碼的開發全攻略,從需求分析到設計與實現,為開發者提供全面指導。 一、需求分析 1.用戶需求 用戶是外賣系統的核心,需滿足以下基本需求: -瀏覽菜單并下單 -實時追蹤訂單 -多種支付方…

每日一題——博弈論(枚舉與暴力)

博弈論 題目描述 運行代碼 #include<iostream> #include<vector> using namespace std; int main(){int n;cin >> n;vector<int> d(n,0);for(int i 0;i < n;i){cin >> d[i];}vector<int> in(1000,0);for(int k 1;k<3;k){for(int…

ESP32燒錄AT固件并進行MQTT通訊

首先下載AT固件 發布的固件 - ESP32 - — ESP-AT 用戶指南 latest 文檔 下載燒錄工具 下載指導 - ESP32 - — ESP-AT 用戶指南 latest 文檔 燒錄后注意usb的串口是不能發AT指令的 需要用16和17腳 用AT指令確認OK后連WIFI ATCWMODE1 //設置客戶端模式 ATCWLAP …

mysql誤刪后使用binlog恢復數據

1 預期效果 使用 binlog 恢復數據的預期效果是將誤刪的數據還原到誤刪之前的狀態&#xff0c;以減少或消除數據丟失的影響。通過正確解析和執行 binlog 中的操作記錄&#xff0c;可以重新執行誤刪操作之后的插入、更新或刪除操作&#xff0c;從而恢復被誤刪的數據。 數據恢復&…

Cocos Creator 編輯器的數據綁定詳解

Cocos Creator 是一款由 Cocos 平臺推出的游戲開發工具&#xff0c;它集成了圖形化編輯器、腳本引擎和資源管理器等功能&#xff0c;方便開發者快速地創建游戲。其中&#xff0c;數據綁定是 Cocos Creator 編輯器中非常重要的一個功能&#xff0c;它可以幫助開發者實現頁面元素…

三生隨記——山洞之謎

第一章&#xff1a;初識山洞 在遠離人煙的深山之中&#xff0c;隱藏著一個鮮為人知的山洞。這個山洞名叫幽洞&#xff0c;它的名字在當地人的口中帶著一股說不出的詭異和神秘。據說&#xff0c;幽洞深不見底&#xff0c;里面充滿了未知的恐懼和危險。然而&#xff0c;對于好奇心…

Go微服務: Grpc服務注冊在Consul的示例(非Go-Micro)

概述 現在&#xff0c;我們使用consul客戶端的api來把GRPC服務實現注冊到consul上&#xff0c;非Go-Micro的形式其實&#xff0c;consul官方提供了對應的接口調用來實現&#xff0c;golang中的consul/api包對其進行了封裝我們使用consul/api來進行展示 目錄結構 gitee.com/g…

springboot+mysql在線考試系統-計算機畢業設計源碼82584

摘 要 信息化社會內需要與之針對性的信息獲取途徑&#xff0c;但是途徑的擴展基本上為人們所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人們經常能夠獲得不同類型信息&#xff0c;這也是技術最為難以攻克的課題。針對在線考試等問題&#xff0c;對如何通過計算…