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

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_())

相关文章:

  • LLM基础知识
  • LLM主要类别架构
  • PTA字符串删除
  • 19、matlab信号预处理中的中值滤波(medfilt1()函数)和萨维茨基-戈雷滤波滤(sgolayfilt()函数)
  • 【Python Cookbook】S01E14 从字典中提取子集
  • 【Linux】进程(4):优先级
  • 论文笔记:Image Anaimation经典论文-运动关键点模型(Monkey-Net)
  • linux系统上shell脚本编写问题总结
  • 【ES】docker安装ES7.14.0+es-head
  • 通过SpringCloudGateway中的GlobalFilter实现鉴权过滤
  • 代码随想录第23天|回溯part3 组合与分割
  • 微服务学习Day8-Sentinel
  • Flink搭建
  • 【LeetCode】二叉树oj专题
  • elementplu父级页面怎么使用封装子组件原组件的方法
  • @jsonView过滤属性
  • ES10 特性的完整指南
  • ES6 学习笔记(一)let,const和解构赋值
  • Hibernate最全面试题
  • Java IO学习笔记一
  • JAVA SE 6 GC调优笔记
  • JS实现简单的MVC模式开发小游戏
  • Linux后台研发超实用命令总结
  • miaov-React 最佳入门
  • Python socket服务器端、客户端传送信息
  • Python实现BT种子转化为磁力链接【实战】
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Spark RDD学习: aggregate函数
  • Spring声明式事务管理之一:五大属性分析
  • Vue UI框架库开发介绍
  • Vue2 SSR 的优化之旅
  • 从零开始在ubuntu上搭建node开发环境
  • 思否第一天
  • 译米田引理
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​数据链路层——流量控制可靠传输机制 ​
  • (1)svelte 教程:hello world
  • (13)Hive调优——动态分区导致的小文件问题
  • (arch)linux 转换文件编码格式
  • (BFS)hdoj2377-Bus Pass
  • (SERIES10)DM逻辑备份还原
  • (solr系列:一)使用tomcat部署solr服务
  • (笔试题)合法字符串
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (四)JPA - JQPL 实现增删改查
  • (转)iOS字体
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)winform之ListView
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • *** 2003
  • .describe() python_Python-Win32com-Excel
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .net framework profiles /.net framework 配置