Qt图形视图框架(Qt Graphics View Framework)支持开发快速高效的2D矢量图形场景。场景可以包含数百万个对象,每个对象都有自己的功能和行为。通过使用 PyQt 的图形视图,您可以在 Python 中访问这个高性能的图形层。无论您是将矢量图形视图集成到现有的 PyQt 应用程序中,还是只是想要一个强大的 Python 矢量图形界面,Qt 的图形视图都是您正在寻找的。
本例原是PyQt4版本的官方demo 程序,现已改成了PyQt5版本。程序可响应用户的键盘操作,如方向键,“+”,“-”键和空格键,以及鼠标拖放和滚轮操作。其功能是模拟弹性节点网络----节点小球在收到外力时会移动,在外力撤除后会回弹。
如果创建一个自定义的窗口部件并重新实现它的绘制事件,就可以得到任何想要的图形。但如果需要绘制大量的单个项,或者是需要绘制用户能够进行单独交互的项(例如选中、移动、复制粘贴...) ,又或者需要对项进行动画处理,使用PyQt的图形视图类(QGraphicsView)比重新实现一个窗口部件的绘制事件更方便一些。
在本篇中,会看到利用图形项来绘制复杂形状和动画,模拟“千足虫”的运动和消亡过程。程序有一个内部的定时器,在没段时间间隙中,这些千足虫都在不停的移动。如果它们的头部产生了碰撞,则其头部颜色的红色分量越来越高,直至死亡。
Qt 的事件机制是一种基于事件驱动的机制,用于处理用户输入、系统事件和自定义事件。
Qt提供了图形视图框架(GraphicsView Framework)、动画框架(The Animation Framework)、状态机框架(The State Machine Framework)来实现更加高级的图形与动画应用。使用这些框架可以快速设计出动态GUI应用和各种动画、游戏程序。
每个线程都有他自己的一组CPU寄存器,称为线程的上下文,该上下文反映了线程上次运行该线程的CPU寄存器的状态。
Label : 标签 QLabel的作用: 占位符 显示文本 显示图片 放置gif动画 超链接 提示标记 常用方法: text():获得Qlabel的文本内容 setText():设置Qlabel的文本内容 selectedText():返回所选择的字符 信号: linkActiveted:当单击标签中的超链接,希望在新窗口打开这个超链接时,setOpenExternalLinks特性必须设置为True,即setOpenExternalLinks(True) linkHovered:当鼠标指针滑过标签中
在QGraphicsScene 上绘制图形时,经常会使用items()这种便利函数,获取当前画布上所有的图形列表;因为绘制的时候,可能会绘制不同的图形,在得到所有的图形列表之后,通常需要对其中的 QGraphicsItem 进行类型检测,确定实际item的类型,然后对其进行类型转换得到正确的item的类型。这样既可以访问标准 item也可以 访问自定义 item。
PyQt5.QtCore中的 QPropertyAnimation可以实现动画功能。
应大家的要求,还是把完整的project文件贴出来,大家省点事:http://www.kuaipan.cn/file/id_48923272389086450.htm
Qt Graphics View 用于管理交互大量定制的 2D 图形对象,提供了可视化显示对象的视图 widget,并支持缩放和旋转功能。Graphics View 使用 BSP(二元空间划分)树形,可非常快速地找到图元对象,因此即使是包含百万个图元对象的大型场景,也能实时显示。Graphics View框架包含了一个事件传播构架,允许与场景中的图元进行交互。比如:可以处理键盘事件,鼠标移动、松开、双击事件,并且可以跟踪鼠标移动。Graphics View视图本身是一个基于item的M-V架构的框架,它的每一个组件都是一个item。
Graphics View提供了QGraphicsScene类,用于管理从QGraphicsItem类派生的大量定制2D图形项目,并与之交互;还提供了QGraphicsView小部件,用于可视化项目,并支持缩放和旋转。
入手pyqt没有几天,想把pyqt系类基础挨个实践一遍。 这一节是pyqt5的QPainter绘制基础图形。 开发环境:
想学一下qt在python下的开发流程,换了好几种开发环境,暂时决定使用pyCharm。然后发现坑很多,需要记录整理一下。 这里使用的是win10 64位。
使用指定的图片作为QGraphicsView视图窗口的背景,并消除图元拖动时产生的残影。 思路: 派生QGraphicsScene类,重写drawBackground函数。
最近业余在做一个基于结点的编辑工具玩, 遇到一个问题, 就是结点和连线多了, 经常会出现重叠交叉的问题, 导致图看不清楚: 要是这个样子, 还不如不用图清楚呢, 所心就需要找一个方法来进行自动布局,
PyQt5 有两种安装方式,一种是从官网下载源码安装,另外一种是使用 pip 安装。
原因:不同项目采用不同版本的python,所依赖的库的版本也不一样,为了避免版本冲突,所以给每一个项目每个python版本创建一个虚拟环境,环境中所使用的依赖库也是独立存在,不会被其他版本或其他项目的库影响。
PyInstaller是一个跨平台的Python应用打包工具,支持 Windows/Linux/MacOS三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行应用程序。 PyInstaller 制作出来的执行文件并不是跨平台的,如果需要为不同平台打包,就要在相应平台上运行PyInstaller进行打包。
对于从事计算机视觉中目标检测领域的人来说,数据集所有工作的开始,没有特定领域的数据集,后续工作基本没法展开。但是通用的VOC或者COCO数据集可能根本没法使用适用于特定领域,因此制作特定领域的数据集也成为了意见非常重要的事情。LabelImg就是当前非常合适数据标注工具,接下来我们来介绍LabelImg在win10下的安装流程。
使用Qtdesigner做可视化的界面设计,是一项很强大的工具。今天用到了,就在pycharm下配置一下,随手做点记录
上一篇我们通过Qt 设计师生成了 .ui 文件。下一步是将该 .ui 文件转化为 .py 的python文件。
我们之前介绍过使用tkinter创建图形用户界面(GUI)应用程序,现在我们来介绍另外一个用于创建GUI的神器——pyQt5,它可以用于创建跨平台的桌面应用程序。PyQt5 实现了一个 Python模块集,有 620 个类,6000 个函数和方法。PyQt5 有以下优点:简单好用,功能强大, 跨平台支持,文档齐全,稳定性高,生态支持,开源免费。在本文中,我们将介绍提供PyQt5安装和配置指南,以确保我们能够顺利开始开发GUI应用程序。
之前安装过anaconda,里面是含有pyqt的,在环境里搜索可以看到,但是针对实际开发,并没有全部的qt5工具,所以需要再次安装。
ObjectName属性:表示窗体对象的名称 。对应的python代码中设置窗体名称的方法setObjectName
一:先来看一下界面的截图: 说明: 拖动节点的时候,与该节点相关的箭头连线也会跟着调整; 用户可以使用鼠标从一个节点拖出一个箭头到另一个节点(鼠标在空白区域点击一下,拖出的箭头消失) 这三个图标,手型
如果直接pip不成功的话,建议在python库这个网站上搜索相关库,下载相应的.whl文件,然后用以下方法进行安装: ①pip whl文件所在路径 whl文件名 ②在cmd命令窗口先执行 cd whl文件所在路径 到该目录下,然后 pip whl文件名 进行安装
QGraphicsView+QGraphicsTextItem 实现在画布上动态输入,编辑文本。 类似于截图软件、图片编辑器加文字水印的效果。 比如: 类似于windows系统自带的图片编辑器这个效果。
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁任何形式转载。
点击 PyCharm 的 File --> Settings --> Tools --> External tools 打开外部工具界面,点 ‘+' 号进入添加外部工具界面。在 ‘Name' 处输入工具名称,这个名称可以随便取,只要自己清楚就行,我这里写的是 Qt designer。
最近研究了Python的两个GUI包,Tkinter和PyQT。这两个GUI包的底层分别是Tcl/Tk和QT。相比之下,我觉得PyQT使用起来更加方便,功能也相对丰富。这一篇用PyQT实现一个视频播放器,并借此来说明PyQT的基本用法。 视频播放器 先把已经完成的代码放出来。代码基于Python 3.5: import time import sys from PyQt4 import QtGui, QtCore from PyQt4.phonon import Phonon class PollTi
最近研究了Python的两个GUI包,Tkinter和PyQT。这两个GUI包的底层分别是Tcl/Tk和QT。相比之下,我觉得PyQT使用起来更加方便,功能也相对丰富。这一篇用PyQT实现一个视频播放器,并借此来说明PyQT的基本用法。
1、问题:安装完成后PyQt5、PyQT5-tool后,双击Designer.exe或者添加External Tools后打开Designer有问题,提示no Qt platform plugin
注意:PyQt4需要选定于python版本相应的安装包,Pycharm需要网上搜索激活码
为了实现像C++中MFC和Java中swing式的“拖动式”界面开发,在python需要使用pyQT,再在pycharm中配置QT Designer。此类教程已经不胜枚举了,但是在pycharm中配置QT 时,老方法中的路径已经不再适用了。
官方网站:http://www.riverbankcomputing.com/software/pyqt/download5
PyQT5 —— 5.15 whl 文件大概60M PyQT5-Tools —— 5.15 whl 文件大概55M
pip install PyQt5 -i https://pypi.douban.com/simple
文章背景:Qt是众多GUI组件中极其优秀的组件,不仅可以开发桌面应用,还可以开发移动应用,所以Qt是非常值得学习的组件。下面就来学习如何在Pycharm中配置PyQt5。
上图中我们可以看到Successfully Installed SIP 字样,说明安装SIP成功。
首先根据自己的python版本下载pyqt4离线包,现在连接:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4
安装和配置PyCharm 修改默认配置,修改config和system的路径,避免占据C盘太多的空间 将PyQt中的工具PyUIC安装到PyCharm中,使用更便捷(Windows和Ubuntu平台)
安装PyQt5 原带的 Designer 图形化设计界面是英文的,对英文不好之人多有不便。但在网上找到的教程都不符合我这个版本的操作流程,例如找不到一些对应文件夹。不过汉化包还是有用的。英文版如下图
最近开始学习Python,但只限于看理论,编几行代码,觉得没有意思,就想能不能用Python编写可视化的界面。遂查找了相关资料,发现了PyQt,由于前一段时间刚看过Qt,而且对Qt的印象很好,于是觉得用PyQt应该是一个比较愉快的选择。
领取专属 10元无门槛券
手把手带您无忧上云