创建Python图形界面的工具,用于构建图形结构。

3
我需要创建一个图形构建的GUI("图形"作为一组对象的抽象表示,而不是数据的视觉表示)。界面将提供大约5种顶点类型和5种不同的边缘类型供选择。每个顶点将有两个数据字段:文本标签和文件名,需要轻松编辑。
我熟悉 igraph并且已经有很多代码编写在其中。我将使用igraph来操作使用此GUI创建的图形。
由于这将是我的第一个GUI,我完全不知道有哪些工具可用。您能否建议一款免费的库,知道最终程序需要在Windows上运行?
编辑
从我得到的答案中似乎可以看出,我的表述还不够清楚。我不是在寻找可视化图形的方法,而是在寻找一种可视化创建图形的方式。通过“可视化”,我指的是不需要手动创建文本文件或编写代码。

PyQt拥有您可能需要的一切。并且您可以将它与其他东西(如matplotlib)结合使用。 - JBernardo
1
如果您可以使用单独的程序,您可以使用yEd创建图形。它支持以igraph可以导入的格式进行导出,并且还可以处理不同的顶点和边缘类型。http://www.yworks.com/en/products_yed_about.html 不幸的是,我无法建议可重用的Python库来提供您所寻找的功能。 - Szabolcs
嘿嘿,@Szabolcs。这正是我现在所做的:使用yEd。然而,在我的项目的这个阶段,使用第三方工具变得不方便了。 - Boris Gorelik
时间过去了,是否有更为更新的解决方案? - Pintun
3个回答

3

我喜欢networkx

from networkx import draw, Graph
from pylab import show

g = Graph()
g.add_edges_from([(1,2),(1,3),(2,4),(2,5)])
draw(g)
show()

这个功能提供了:

networkx的示例输出

唯一的问题是需要安装matplotlib才能使用内置的绘图功能。


3
请看xdot.py
从主页上可以看到:
xdot.py是一个用于查看Graphviz中dot语言编写的图形的交互式查看器。
它内部使用Graphviz的xdot输出格式作为中间格式,并使用PyGTK和Cairo进行渲染。
xdot.py可以作为独立应用程序从命令行使用,也可以作为嵌入在Python应用程序中的库使用。

xdot.py可以用来创建图形吗? - Boris Gorelik
我已经将它与networkx结合使用,从文本文件构建图形,并让用户通过视觉方式检查生成的图形。 - midtiby

0

如果你使用Python,我认为PyQt是一个很好的选择。你需要安装下面列出的东西:

  1. 这里安装Python
  2. 这里安装PyQt4

但是编写GUI应用程序需要很多代码行,有时生成一个图片在图像查看器中显示会更好一些。


对不起,我无法理解您有关编写GUI应用程序的评论。我不是在寻找显示图形的方法,而是为了方便创建图形的方法。 - Boris Gorelik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接