首页 > 其他分享 >SciTech-CG-Graphics-Chart-CodeGenerator-PyQtGraph: 基于PyQt的图形绘制以及应用库

SciTech-CG-Graphics-Chart-CodeGenerator-PyQtGraph: 基于PyQt的图形绘制以及应用库

时间:2024-01-30 21:11:38浏览次数:30  
标签:CodeGenerator python pyreverse PyQtGraph CG 类图 graphviz UML 安装

UML class diagram:
https://pyqtgraph.readthedocs.io/en/latest/api_reference/uml_overview.html

FlowChart:
https://pyqtgraph.readthedocs.io/en/latest/api_reference/flowchart/index.html

The State Machine Framework¶:
https://doc.qt.io/qtforpython-5/overviews/statemachine-api.html

Python自动绘制UML类图、函数调用图(Call Graph)

  1. 引言
    在设计软件、分析代码时,我们常常会借助UML以及函数调用图,来帮自己梳理思路。
    尤其是遇到bug时,借助这些可视化手段,也可以帮你在调试过程中发现逻辑错误。
    本文主要介绍以下两个方法:
  • 用 graphviz+pyreverse,自动提取 python代码 的UML类图和包依赖关系。
  • 用 graphviz+pycallgraph,自动提取 python代码 的动态调用流程图。
  1. 绘制UML类图
    2.1 安装 graphviz:
    Graphviz 是一个开源图形可视化软件。Graphviz 以简单的文本语言对图形进行描述,并用多种格式制作图表,例如SVG(网页图像),Postscript(包含在 PDF 或其他文档的图片) ;或png/jpg(交互式图形浏览器显示)。
  • 官网安装graphviz: http://www.graphviz.org/download/
    下载exe安装包,完成graphviz软件安装,并找到bin路径。
  • 设置环境变量:将 bin 路径添加到 PATH
  • 安装对应python库: $ install python-graphviz

2.2 安装pyreverse(直接安装pylint因为其已经包含pyreverse)

  • pyreverse: 用于对 Python 代码进行逆向工程的实用程序。
    可以分析Python代码并提取 UML 类图和包依赖关系:
    • 类属性,及其类型
    • 类方法
    • 类之间的继承链接
    • 类之间的关联链接
    • 异常和接口的表示
  • 安装pylint:$ pip install pylint

标签:CodeGenerator,python,pyreverse,PyQtGraph,CG,类图,graphviz,UML,安装
From: https://www.cnblogs.com/abaelhe/p/17997980

相关文章

  • Docker 与 Linux Cgroups:资源隔离的魔法之旅
    这篇文章主要介绍了Docker如何利用Linux的ControlGroups(cgroups)实现容器的资源隔离和管理。最后通过简单Demo演示了如何使用Go和cgroups交互。<!--more-->如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关注微信公众号。搜索公众号【探索云原......
  • arcgis server地图服务访问权限设置及arcgis server token获取
    一、地图服务访问权限设置。当我们发布arcgis地图服务后,由于涉密或者其他原因,不想让所有人看到地图服务。这时候我们可以对地图设置权限。怎末设置那?进入你们arcgis管理。地址:http://localhost:6080/arcgis/manager/index.html#新建角色。  新建用户。 新建成功。 ......
  • 2024最新ArcGIS Pro 3.0.2 官方原版简体中文直装版
    这个版本是当前官方中文简体版中的最新版本。ArcGISPro是由Esri开发的专业地理信息系统(GIS)软件,提供先进的地图制图、空间分析和数据管理功能。它支持多维数据集成,具有直观的用户界面,适用于各种地理信息应用,包括城市规划、环境管理和资源分析。ArcGISPro3.0.2官方原版简体中......
  • jeecg-boot 同步数据库失败,Unable to perform unmarshalling at line number 5 and co
    同步数据库失败,Unabletoperformunmarshallingatlinenumber5andcolumn6.Message:cvc-complex-type.2.4.a:Invalidcontentwasfoundstartingwithelement'{"http://www.hibernate.org/xsd/orm/hbm":property}'.Oneof'{"http://www......
  • JeecgBoot集成TiDB,打造高效可靠的数据存储解决方案
    TiDB简介TiDB是PingCAP公司自主设计、研发的开源分布式关系型数据库,同时支持在线事务处理与在线分析处理(HybridTransactionalandAnalyticalProcessing,HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时HTAP、云原生的分布式数据库、兼容MySQL5......
  • Github图床搭建,结合Picgo与jsdelivr的免费cdn加速,以及部分问题解决方案
    留份文档,便于后续查询===================用到的地址:Github:GitHubPicgo:PicGoisHere|PicGojsdelivr加速地址:https://cdn.jsdelivr.net/gh/Github用户名/仓库名@master===================1.创建一个GitHub仓库:进入你的GitHub首页,在右上角你会找到一个➕,在下拉菜单中......
  • 使用CGO要注意的问题
    密码学有很多较快的算法是基于c或c++纂修,而工程上主要以go语言为主,在此梳理一些go调用c常见问题和用例。有很多奇特的方式进行传输,但是想要性能最优还是以指针传输作为主要传输方式。一些简单的计算可以直接使用c编写成.h进行引用,但在工程部署常常拥有大量依赖库,若在服务......
  • spring--CGLIB动态代理的实现原理
    CGLIB(CodeGenerationLibrary)是一个强大的、高性能、高质量的代码生成库,它可以在运行时扩展Java类和实现Java接口。CGLIB动态代理是基于继承的方式来实现的,它不需要接口,可以代理普通类。以下是CGLIB动态代理的实现原理:继承:CGLIB动态代理通过继承目标类来创建子类,并在......
  • spring--JDK动态代理和CGLIB代理的区别
    JDK动态代理和CGLIB代理是Java中常用的两种动态代理实现方式,它们各有特点和适用场景:JDK动态代理:JDK动态代理是基于接口的代理方式,它使用Java反射机制来创建代理对象,并要求目标对象实现一个或多个接口。在代理过程中,JDK动态代理会创建一个实现了目标对象所有接口的代......
  • JeecgBoot集成东方通TongRDS
    TongRDS介绍TongRDS(简称RDS)是分布式内存数据缓存中间件,用于高性能内存数据共享与应用支持。RDS为各类应用提供高效、稳定、安全的内存数据处理能力;同时它支持共享内存的搭建弹性伸缩管理;使业务应用无需考虑各种内存的复杂管理。TongRDS采用Java语言纯自研架构,且完成了大量国产......