pyqt绘制各种直线

pyqt绘制各种直线

  • 介绍
  • 效果
  • 代码

介绍

  • 使用pyqt绘制各种直线

效果

在这里插入图片描述

代码

import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPainter, QPen, QPainterPath, QColor, QBrush
from PyQt5.QtCore import Qt, QPoint, QLineF, QPointFclass DrawLinesWidget(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setGeometry(300, 300, 300, 200)self.setWindowTitle('Draw Lines with PyQt')self.show()def paintEvent(self, e):qp = QPainter()qp.begin(self)self.draw_straight_line(qp)self.draw_wavy_line(qp)self.draw_dashed_line(qp)qp.end()def draw_straight_line(self, qp):pen = QPen(Qt.black, 2, Qt.SolidLine)qp.setPen(pen)qp.drawLine(10, 50, 280, 50)def draw_wavy_line(self, qp):path = QPainterPath()path.moveTo(50, 100)for i in range(10):x = 50 + i * 20y = 100 + 10 * (-1) ** ipath.cubicTo(x, y, x + 10, y + 10, x + 20, y)qp.setPen(QPen(Qt.blue, 2))qp.drawPath(path)def draw_dashed_line(self, qp):pen = QPen(Qt.red, 2, Qt.DashLine)qp.setPen(pen)qp.drawLine(10, 150, 280, 150)if __name__ == '__main__':app = QApplication(sys.argv)ex = DrawLinesWidget()sys.exit(app.exec_())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/21614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM 指针压缩

运用java内存对齐填充,对java内存进行8字节划分,java对象指针映射到每个划分区域上,使得4个字节(32位)表示2^32个地址,从而使4个字节指针映射32G内存空间。 1.为什么进行指针压缩: jvm从32位变…

【全开源】Java代驾小程序APP代驾跑腿源码微信小程序代驾源码

🚗代驾小程序:便捷、安全的出行新选择 一、引言:出行新风尚 在如今繁忙的都市生活中,出行问题一直是人们关注的焦点。代驾小程序的出现,为我们提供了一种便捷、安全的出行新选择。无论是酒后不能驾车,还是…

开放式虚拟化格式1.0和2.0有什么区别

开放式虚拟化格式(Open Virtualization Format,简称OVF)是一种用于描述、打包、和分发虚拟机的标准格式。OVF 1.0和OVF 2.0是这个标准的两个不同版本。以下是它们之间的一些主要区别: 1. **扩展性**: - OVF 1.0主要…

牛客网刷题 | BC116 [NOIP2013]记数问题

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 试计算在区间1 到n…

深度学习之动量momentum介绍

本章节将介绍深度学习中动量的相关概念和应用。 1. 动量的基本原理 动量是一种用于加速梯度下降的技术。 它通过累积过去梯度的指数加权平均来计算当前更新方向。 这样可以增强梯度下降的稳定性,加快收敛速度。 2. 动量的数学公式 动量更新公式为:v γv - η∇L(θ) 其中v是…

LeetCode:环形链表II

文章收录于LeetCode专栏 LeetCode地址 环形链表II 题目 给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。   为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从0开始&#…

安防监控视频平台LntonCVS视频监控汇聚平台遏制校园暴力保护校园学生安全应用方案

未成年人被誉为祖国的花朵,是我们国家的未来。然而,最近频繁曝出的未成年霸凌事件却引发了社会的广泛关注。这些事件手段残忍,事态恶劣,引发了全社会对如何保护未成年身心健康、规避霸凌事件发生的深刻思考。 为了更好地保障学生的…

使用软件分享--剪映(不需要会员版)剪映 Jianying_pro_3_2_0_8778_beta9_jianyingpro_beta(Windows)

专栏介绍:本专栏主要分享一些实用的软件(Po Jie版); 声明1:软件不保证时效性;只能保证在写本文时,该软件是可用的;不保证后续时间该软件能一直正常运行;不保证没有bug&am…

深度学习中多模态的融合策略

在深度学习中,多模态(multimodal)融合策略用于集成来自不同模态的数据,以提升模型的性能和泛化能力。多模态数据可以包括文本、图像、音频、视频、传感器数据等,通过有效融合这些不同类型的数据,能够从中提…

Java中的大小顶堆的实现方式

在java中没有一个现成的大小顶堆的数据结构,但可以用PriorityQueue类代替。 PriorityQueue默认是升序的,因此可以模拟小顶堆最小值始终在队列的最前面,如果要模拟大顶堆,需要重新定义Comparator方法: PriorityQueue&l…

深度学习-06-手动进行反向传播

深度学习-06-手动进行反向传播 本文是《深度学习入门2-自製框架》 的学习笔记,记录自己学习心得,以及对重点知识的理解。如果内容对你有帮助,请支持正版,去购买正版书籍,支持正版书籍不仅是尊重作者的辛勤劳动&#xf…

CentOS镜像源配置

CentOS镜像源配置 1. 基础镜像源配置 1.1 简介 CentOS,是基于Red Hat Linux提供的可自由使用源代码的企业级Linux发行版本;是一个稳定,可预测,可管理和可复制的免费企业级计算平台。 下载地址: https://mirrors.aliyun.com/ce…

【网关】工业智能网关-02

一 公司简介 保定飞凌嵌入式技术有限公司始于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内最早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内一流的软硬件研发团队,在北京…

执行shell脚本时为什么要写成./test.sh,而不是test.sh?

一定要写成 ./test.sh,而不是 test.sh 运行其它二进制的程序也一样! 直接写 test.sh,linux 系统会去 PATH (系统环境)里寻找有没有叫 test.sh 的! 而只有 /bin, /sbin, /usr/bin,/usr/sbin 这…

SuperMap GIS基础产品FAQ集锦(20240603)

一、SuperMap iDesktopX 问题1:请教一下,桌面把火星坐标系的数据投影转换为4326坐标系数据如何才能没有偏移呢? 11.1.1 【解决办法】可以使用iDesktopX提供的“电子地图坐标转换”插件实现对火星坐标系数据的纠偏。 问题2:请教…

堆排序pta

UML(Unified Modeling Language)类图是面向对象设计(OOD)中常用的一种图表,用于描述系统中的类、接口、以及它们之间的关系。下面是一个简单的步骤,指导你如何绘制UML类图: 确定类和接口&#…

麦肯锡:ChatGPT等生成式AI应用激增,大中华区增长最快

全球顶级咨询公司麦肯锡(McKinsey & Company)在官网发布了《he state of AI in early 2024:Gen AI adoption spikes and starts to generate value》,一份关于生成式AI应用的调查报告。 麦肯锡对多个国家/地区的1,363位管理者进行了调查…

前端表单校验完成之后,点击确认功能无反应FormInstance, FormRules

**产生原因:可能是在el-form 中添加的ref 前面加了“:”,也可能是ref中的值写错了** FormInstance, FormRules

海外仓平台系统选择指南:中小海外仓如何选到经济实惠的WMS系统

对于中小海外仓来说,选择一套性价比高、功能又比较齐全的系统还是很关键的,这直接关系到海外仓的运转效率和盈利能力。 今天我们就来探讨一下,针对中小海外仓这个群体,要怎么才能选到经济实惠又功能齐全的wms系统。 1、性价比—…

JavaScript错误;调试;“=”,“==”,“===”的区别

try...catch语句 try..catch语句是JavaScript中用来处理异常的一种方式。它允许我们在代码块中尝试执行可能会引发错误的代码,并在发生错误时捕获并处理异常。 下面是try..catch语句的基本语法: try {// 可能会引发错误的代码 } catch (error) {// 处理…