Python Graphviz编辑器或GUI框架

时间:2014-01-23 01:50:30

标签: python graph wxpython graphviz dot

我编写了一个python应用程序,它以graphviz DOT格式生成输出。我使用外部'点'将生成的文件转换为PNG。实用程序并在图像查看器中打开生成的PNG以显示图形。

我的应用程序是一个交互式命令行工具,它允许对图形进行少量操作,例如根据边权重更改边缘颜色,删除少数节点等。在这些操作之后,我再次生成DOT文件并将其转换为PNG用于可视化。

我遇到了xdot.py,它允许我将交互式查看器嵌入到我的应用程序中。现在我不必每次都去shell生成PNG。

我想进一步理解这个想法并在此基础上构建一个完整的GUI应用程序。我对此几乎没有问题:

  • 我是否必须从头开始(使用wxPython或任何其他GUI框架)?使用画布显示生成的图像,并在图形上执行操作时刷新它。
  • 是否还有其他包用于此目的?我正在寻找一些可以编辑图形的软件包,只是让我能够将我的图形操作绑定到查看器上的鼠标事件。

还有其他想法吗?非常感谢您的投入。

1 个答案:

答案 0 :(得分:0)

wxPython可以使用wx.StaticBitmap非常容易地显示图像。这是关于这个主题的教程:

你可能需要做这样的事情:

img = wx.Image(filepath, wx.BITMAP_TYPE_ANY)
self.imageCtrl = wx.StaticBitmap(self.panel, wx.ID_ANY, 
                                 wx.BitmapFromImage(img))

然后只需在更新图像时刷新它。根据您的图形需求,matplotlib项目可以集成到wxPython中。

有一个项目使用wxPython和pydot,你可能会发现它很有用:http://code.google.com/p/pyflowuca/。我在这里看到它:http://pythonhaven.wordpress.com/2009/12/09/generating_graphs_with_pydot/