Gaphas是一个GTK绘图小部件
项目描述
Gaphas
Gaphas是Python的绘图小部件库。
Graphas是一个提供用户界面组件(小部件)用于绘制图表的库。图表可以绘制到屏幕上,并轻松导出为多种格式,包括SVG和PDF。想要构建一个具有图表样式的应用程序吗?那么Graphas就是你的选择!使用这个库来构建树状图、网络图、流程图或其他图表。
该库目前被以下项目用于UML绘图:Gaphor,基于状态机的机器人控制:RAFCON,以及求解数学模型:ASCEND。
📑 目录
📜 背景
Graphas是为了提供Gaphor的基础图表绘制功能而构建的。由于Gaphor基于GTK和Cairo,PyGObject提供了访问GUI工具包的接口,PyCairo提供了2D图形库的接口。然而,没有项目将这些技术抽象出来以方便创建图表工具。因此,Graphas被创建为一个库,允许其他使用GTK和Cairo创建图表工具。
以下是它的工作原理
- 可以将项目(画布项目)添加到画布中。
- 画布维护项目的树状结构(项目之间的父子关系)。
- 使用约束求解器来维护项目约束和项目间约束。
- 项目(和用户)不应该被诸如边界框计算等问题所干扰。
- 非常模块化——例如,可以交换处理支持。
- 使用Cairo进行渲染。
库的主要部分包括
- canvas - 主画布类(项目的容器)。
- items - 放置在画布上的对象。
- solver - 一个约束求解器,用于定义项目的布局和连接。
- gtkview - 一个用于GTK应用程序的视图,使用工具与用户交互。
- painters - 用来绘制项目的工人。
- tools - 工具用于处理用户事件(例如鼠标移动和按钮点击)。
- aspects - 在工具和项目之间提供中间步骤。
Graphas包含对Canvas
和Item
的默认实现。已经建立了协议,允许你创建自己的画布。
💾 安装
要安装Graphas,只需使用pip
$ pip install gaphas
强烈建议使用虚拟环境。
开发
在Linux上设置开发环境
$ sudo apt-get install -y python3-dev python3-gi python3-gi-cairo
gir1.2-gtk-3.0 libgirepository1.0-dev libcairo2-dev
$ pip install poetry
$ poetry install
🔦 用法
API文档和教程可以在Read the Docs上找到。
♥ 贡献
感谢这些优秀的人(emoji key)
Arjan Molenaar 💻 🐛 📖 👀 💬 🔌 | Dan Yeaw 💻 ⚠️ 👀 🐛 💬 🚇 📖 | wrobell 💻 ⚠️ 👀 | Jean-Luc Stevens 💻 🐛 📖 | 弗朗茨·施泰因梅茨 💻 🐛 | 阿德里安·博古谢夫斯基 💻 | 里科·贝德勒 🐛 👀 |
亚当·博杜奇 🐛 | 珍妮特·约瑟 📖 |
本项目遵循所有贡献者规范。欢迎任何形式的贡献!
- 查找开放问题或创建新问题以开始讨论功能想法或错误。存在一个仅初学者标签,用于标记适合不熟悉代码库的人的问题。
- 在GitHub上Fork存储库,以开始在主分支(或从其分支)进行更改。
- 编写一个测试,以证明错误已修复或功能按预期工作。
- 发送拉取请求,并一直烦扰维护者,直到它被合并并发布。:smile
参见贡献文件!
版权
版权所有 © 阿兰·莫雷纳和丹·耶夫
许可协议为Apache License 2.0。
摘要:您可以使用Gaphas做您喜欢的事情,只要包含必要的通知。此许可协议包含代码贡献者的专利许可。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
gaphas-4.1.1.tar.gz (62.2 kB 查看哈希值)
构建分布
gaphas-4.1.1-py3-none-any.whl (74.8 kB 查看哈希值)
关闭
gaphas-4.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 719db9009962ca6d83f52389020f70ac0206a77da0cf76933cd1918a3953d5ea |
|
MD5 | 8565506bf49f3e441d3abcc05b78ca17 |
|
BLAKE2b-256 | 5aa09e16491b379e62bb19d09e0949b68d8be287ea783d79338fdacfbdffe5b4 |
关闭
gaphas-4.1.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 888aefdd266ffc91cff03768190bec89e0adb1fb903f8e5779d9b900600dd5d0 |
|
MD5 | 2d7646e40b904d04e4ebacc0d8c648e1 |
|
BLAKE2b-256 | 97e60ff3b9da77bbc4f787624df5066f3cb578cb8f766a66a693329817e451f9 |