PyQt5绘图】的更多相关文章

PyQt5绘图API大全1.绘图API:绘制文本#1.文本 2.各种图形 3.图像#QPainter painter=QPainter() painter.begin() painter.end() painter.drawtext() 必须在painevent事件方法中绘制各种元素 import sysfrom PyQt5.QtWidgets import QApplication,QWidgetfrom PyQt5.QtCore import Qtfrom PyQt5.QtGui impor…
QPainter 功能:QPainter实现在QWidget上画图功能 说明:绘图必须在paintEvent中完成,且要在bengin和end之间作图 接口: 方法 描述 begin 开始画图 end 结束画图 drawLine(int x1, int y1, int x2, int y2) 绘制直线从(x1,y1)到(x2,y2) drawRect(int x, int y, int w, int h) 绘制矩形起始坐标(x,y),宽度w,高度h drawText 绘制字符串 FillRect…
一.前言 在学习 PyQt5 的过程中我会不断地做一些小的 Demo,用于让自己能够更好地理解和学习,这次要做的就是一个图片查看器,主要功能包括打开图片.拖动图片.放大和缩小图片. 最终实现的图片查看器你效果如下: 二.主要步骤 1.显示图片 PyQt5 绘图系统能渲染矢量图像.位图图像和轮廓字体文本.一般会使用在修改或者提高现有组件的功能,或者创建自己的组件,使用 PyQt5 的绘图 API 进行操作.在 Qt 中有 QPainter 类用于执行绘制的操作,绘图由 paintEvent() 来…
[概览] 本文实现如下的程序:(在窗体中绘画出[-100, 100]两个周期的正弦函数图像) 主要步骤如下: 1.在eric6中新建项目,新建窗体 2.(自动打开)进入PyQt5 Desinger,编辑图形界面,保存 3.回到eric 6,对上一步得到的界面文件 drawing.ui 文件右击,编译窗体,得到 Ui_drawing.py 文件 4.然后再对 drawing.ui 文件右击,生成对话框代码,得到 drawing.py 文件.(在drawing.py中添加自己的程序逻辑) 5.py2…
[概览] 本文实现如下的程序:(在窗体中绘画出文字) 主要步骤如下: 1.在eric6中新建项目,新建窗体 2.(自动打开)进入PyQt5 Desinger,编辑图形界面,保存 3.回到eric 6,对上一步得到的界面文件 drawing.ui 文件右击,编译窗体,得到 Ui_drawing.py 文件 4.然后再对 drawing.ui 文件右击,生成对话框代码,得到 drawing.py 文件.(在drawing.py中添加自己的程序逻辑) 5.py2exe打包成exe文件(此步略) [正文…
[概览] 本文实现如下的程序:(在窗体中绘画出各种不同风格的线条) 主要步骤如下: 1.在eric6中新建项目,新建窗体 2.(自动打开)进入PyQt5 Desinger,编辑图形界面,保存 3.回到eric 6,对上一步得到的界面文件 drawing.ui 文件右击,编译窗体,得到 Ui_drawing.py 文件 4.然后再对 drawing.ui 文件右击,生成对话框代码,得到 drawing.py 文件.(在drawing.py中添加自己的程序逻辑) 5.py2exe打包成exe文件(此…
0.目录 1.前言 2.简单的画板1.0 在定点和移动中的鼠标所在处画一条线 3.简单的画板2.0 在定点和移动中的鼠标所在处画一条线 并将画过的线都保留在窗体上 4.简单的画板3.0 将按住鼠标后移动的轨迹保留在窗体上 5.简单的画板4.0 将按住鼠标后移动的轨迹保留在窗体上 并解决二次作画时与上次痕迹连续的问题 1.前言 版本:Python3.6.1 + PyQt5 写一个程序的时候需要用到画板/手写板,只需要最简单的那种.原以为网上到处都是,结果找了好几天,都没有找到想要的结果. 网上的要…
Qt支持程序多点触控,就想使用PyQt5做一个触控画板,经过几番周折,查阅了TouchEvent官方文档,又参考了一篇QT for Android的例子,采用eventfilter过滤器来识别触屏事件和鼠标事件,分别作出处理: 其中鼠标事件(用鼠标绘画)固定宽度,触摸事件呢(触摸屏上绘画)采用ellipseDiameters()获取触摸点的宽度,作为笔触宽度. 具体代码见:GitHub import sys import math from PyQt5.QtWidgets import QApp…
在学完tkinter后,发现tkinter在布局方面特别的不方便(Tkinter资料:http://effbot.org/tkinterbook/tkinter-index.htm),因此学习pyqt5,之前用tkinter写了一个简单的python入门教程的exe,基本都是面向过程的编程思想,很少将函数式编程思想和面向对象的思想,在学习pyqt5的过程中,希望培养面向对象编程的思想!关于pyqt5的学习主要参考下面的教程,部分知识及代码相当于是对PyQt5 tutorial的总结! http:…
一.初识PyQt5 对于桌面程序开发,用户图形界面(GUI)的设计非常重要.一款美观.易用的用户界面可以很大程度上提高对使用这的友好度.由于Python最初是作为脚本语言开发,并没有GUI功能.但Python具有强大的扩展能力,目前已有相当多的控件集可供使用.目前主流的控件集有:PyQt.Tkinter.wxPthon等.PyQt是Qt专美为PyQt提供的GUI扩展. PyQt5主要模块如下: QtCore :模块包含了非GUI的功能设计.这个模块被用来实现时间,文件和目录,不同数据类型,流,U…
Graphics View提供了一个平面,用于管理和交互大量自定义的2D图形图元,以及一个用于可视化图元的视图窗口小部件,支持缩放和旋转. 该框架包括一个事件传播架构,允许场景中图元的精确双精度交互功能.图元可以处理关键事件,鼠标按下,移动,释放和双击事件,还可以跟踪鼠标移动. Graphics View使用BSP(二进制空间分区)树来提供非常快速的图元发现,因此,即使有数百万个图元,它也可以实时显示大型场景. 先说一下这里面的坐标系: 图形视图基于笛卡尔坐标系(平面直角坐标系x.y轴); 场景…
方式一: import sys from PyQt5.QtGui import QPainter, QFont,QPen from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtCore import Qt class Demo(QWidget): def __init__(self): super(Demo, self).__init__() self.resize(600, 600) self.pen1 = QPen()…
绘图要在paintEvent()方法中实现.在QPainter对象的begin()与end()方法间编写绘图代码.它会在控件或其他图形设备上进行低级的图形绘制 画笔样式Penstyle Qt.Nopen      没有线.比如QPainter.drawRect()填充,但没有绘制任何边界线 Qt.SolidLine  一条简单的线     Qt.DashLine   有一些像素分割的线     Qt.DotLine  有一些像素分割的点     Qt.DashDotLine   轮流交替的点和短…
pyqt5的安装 我的第一个例子 标签控件QLabel的使用   按钮QPushButton 信号与槽 pyqt5模块介绍 pycharm活动模板  QObject 定时器  QWidget类-坐标系统和大小  QWidget扩充父子关系  QWidget-层级关系  窗口状态(最大化最小化等)  窗口标志-外观 顶层窗口特定操作-图标和标题和不透明度  控件是否可用  控件的显示与隐藏 是否被编辑   是否为活跃窗口 控件的关闭   控件提示信息-鼠标悬停时  QMainWindow-状态栏…
解读pyqtgraph官方API-在pyqtgraph中绘图 参考: http://www.pyqtgraph.org/documentation/plotting.html 在pyqtgraph中绘图 在pyqtgraph中绘制数据有以下几种基本方法: 所有这些都将接受控制绘图数据如何解释和显示的相同基本参数: x - 可选的X数据; 如果未指定,则将自动生成一系列整数. y - Y数据. pen - 绘制绘图线时使用的笔,当 None 时线不可用 . symbol - 描述用于每个点的符号形…
解读官方API-如何使用pyqtgraph 这里有一些使用pyqtgraph的建议方法: 从交互式shell(python -i,ipython等) 从应用程序显示弹出窗口 在PyQt应用程序中嵌入小部件 命令行使用 PyQtGraph使得从命令行可视化数据变得非常容易.注意: import pyqtgraph as pg pg.plot(data) # 数据可以是列表或numpy数组 上面的例子将打开一个窗口,显示给定数据的线图.调用  pg.plot返回创建的plot widget句柄,允许…
这个例子我做了好几天: 1)官网C++的源码,改写成PyQt5版本的代码,好多细节不会转化 2)网上的PyQt的例子根本运行不了 填了无数个坑,结合二者,终于能完成了一个关于绘图的东西.这个过程也掌握了很多新的知识点 [知识点] 1.关于多个点的使用 poitns = [QPoint(10, 80), QPoint(20, 10), QPoint(80, 30), QPoint(90, 70)] 请看: # 定义多个点 points = [QPoint(10, 80), QPoint(20, 1…
1 PyQt5整体介绍 PyQt5是基于图形程序框架Qt5的Python语言实现,由一组Python模块构成. PyQt5的官方网站是:www.riverbankcomputing.co.uk. PyQt5模块介绍的官网地址是:http://pyqt.sourceforge.net/Docs/PyQt5/introduction. html,如图A-1所示. PyQt5包括的主要模块如下. QtCore模块--涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及的时间.文件.目录.数据类型.…
PyQt5教程阅读须知 “PyQt5教程”系列若不做明显提示,默认翻译自zetcode. 有需要翻译精度的朋友可以自行阅读英文文档. 如果本系列博文侵犯了您的合法权益,请在博客中留下评论或联系:chen_dev@outlook.com.我会及时修改和删除. 本PyQt5教程系列其他博文中将不做另外声明. PyQt5介绍 这是一份PyQt5的教程.教程的目的是让你开始学会使用PyQt5工具包.这个教程的内容在Linux上创建并测试. PyQt5相关 PyQt5是一套来自Digia的Qt5应用框架和…
PyQt5的学习 花费了一个下午把PyQt5大概的学习了下.找了一个教程 PyQt5教程 跟着挨着把上面的案例做了一遍,大概知道PyQt5是如何生成窗体,以及控件的.基本上做到如果有需求要实现,查查手册,搜搜百度能实现的水平. 另外强烈推荐:PyQt5图形界面编程 PyQt5就是python的GUI库,用它来做一些桌面软件,是QT的python版本.具体的简介就不赘述了.记录点自己学习的干货. 使用大概流程 首先当然是安装PyQt5的类库 pip3 install PyQt5 PyQt5的使用…
1.下载PyQtGraph模块 Windows上下载: pip install pyqtgraph Linux上下载: pip3 install pyqtgraph MacOS上下载: pip3 install pyqtgraph 下载完毕后我们可以运行以下代码: import pyqtgraph.examplespyqtgraph.examples.run()  2.基础知识与参数设置 参数 类型 默认值 解释leftButtonPan bool True 值为True的话,可以用鼠标左键来上…
1.多窗口交互-使用信号与槽函数'''如果一个窗口和一个窗口交互,尽量不要访问窗口B的控件:应该访问与信号绑定的槽函数,从而降低窗口之间的耦合度 例:如果A直接访问B窗口的控件,一旦B窗口的控件发生改变,则A和B的代码都需发生变化 如果A访问B中的信号,则B靠近发生改变,则只需要改变B中的代码,而不需要改变A的代码 核心思想:1.先设计好子窗口,并且在子窗口里面要定义整体信号signal,并且定义触发信号的函数2.在主窗口代码里面要定义好一个自窗口的对象ZWindow(),并且将其信号连接主函数…
The QtCore module contains the core non-GUI functionality. This module is used for working with time, files and directories, various data types, streams, URLs, mime types, threads or processes. QtCore 模块包含了非GUI的功能设计.这个模块被用来实现时间,文件和目录,不同数据类型,流,URL,mim…
Python已有的GUI框架: Tkinter(python内嵌的GUI环境,使用TCL实现,易学易用,方便简单创GUI自带无需安装,适用于Unix.Windows和Mac系统组,在Tk8.0的后续版本可以实现本地窗口风格并运行在绝大多数平台中) Wxpython(跨平台,由C++编写,文档少遇到问题不容易解决,能运行在Windows.Unix.Macintosh OS系统中). pygtk(用于Linux系统多些,Windows下兼容会有一些问题:pygtk真正具有跨平台能力,它能不加修改的,…
技术背景 虽然现在很少有人用python去做一些图形化的界面,但是不得不说我们在日常大部分的软件使用中都还是有可视化与交互这样的需求的.因此pyqt5作为一个主流的python的GUI框架地位是非常重要的,也是一个非常重要的技能.而pyecharts是相当于echarts的python版本,可以比较方便的制作一些非常精美的可视化图片,因为生成的一般是html格式的,所以对于平台的可迁移性相对较好.这里我们主要探索一下在pyqt5制作出来的界面中集成一个pyecharts生成的页面,效果图如下所示…
画布操作介绍 画布绘图的环境通过translate(),scale(),rotate(), setTransform()和transform()来改变,它们会对画布的变换矩阵产生影响. 函数 方法 描述 translate dx,dx 转换的量的 X 和 Y 大小 scale sx,sy 水平和垂直的缩放因子 rotate angle 旋转的量,用弧度表示.正值表示顺时针方向旋转,负值表示逆时针方向旋转. setTransform a,b,c,d,e,f 水平缩放,水平倾斜(与旋转有关),垂直倾…
本文将引导你使用canvas和JavaScript创建一个简单的绘图程序. 创建canvas元素 首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面. <canvas id="canvasInAPerfectWorld" width="490" height="220"></canvas> 获取绘图环境 canvas元素本身没有任何外观,它就是一块空白画板,提供给JS的一套API,大部分的API都…
最近在学习php+mysql,因为之前画图表都是直接在echart的实例demo中修改数据,便想着两相结合练习一下,通过ajax调用后台数据画图表. 我使用的是echart3,相比较第二版,echarts3体积上减少了200k,适配了移动端,且不再按照需求引入不同的包,直接用echarts.init方法初始化就ok.更简洁更强大,国产良心产品. 5分钟上手echarts3 第一步:搭建环境 我使用XAMPP软件包作为开发平台,这个可以直接百度下载,一直next安装好.开启Apache和MySql…
canvas可以绘制出很多奇妙的样式和美丽的效果,通过几个简单的api就可以在画布上呈现出千变万化的效果,还可以制作网页游戏,接下来就总结一下和绘图有关的API. 绘画的时候canvas相当于画布,而context相当于画笔. 1.绘制线条 moveTo(x0,y0):把当前画笔(ictx)移动到(x0,y0)这个位置. lineTo(x1,y1):从当前位置(x0,y0)处到(x1,y1)画一条直线. beginPath():开启一条路径或者重置当前路径. closePath():从当前点回到…
[引子] 在PyQt5自带教程中,地址簿(address book)程序没有完全实现界面与业务逻辑分离. 本文我打算用eric6+PyQt5对其进行改写,以实现界面与逻辑完全分离. [概览] 1.界面: 2.功能简介:程序有三种操作模式:浏览模式.添加模式.编辑模式. 其实现的功能都显式的体现在各个按钮上 3.主要步骤:1).在eric6中新建项目,新建窗体,取名为 addressbook.ui 文件 2).(自动打开)进入PyQt5 Desinger,编辑图形界面,保存 3).回到eric 6…