Python GraphViz编辑器或GUI框架



我编写了一个Python应用程序,该应用程序以GraphViz Dot格式生成输出。我使用外部"点"实用程序将生成的文件转换为PNG,并在图像查看器中打开生成的PNG以可视化图形。

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

我遇到了xdot.py,这使我可以将交互式查看器嵌入我的应用程序中。现在,我不必每次都要去外壳来生成PNG。

我想进一步提出这个想法,并在此基础上构建一个成熟的GUI应用程序。我对此有一些疑问:

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

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

wxpython可以使用wx.staticbitmap非常轻松地显示图像。这是有关该主题的教程:

  • http://www.blog.pythonlibrary.org/2010/03/26/creating-a-simple-photo-photo-viewer-with-with-with-wspython/

您可能需要做类似的事情:

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

然后,每当您更新图像时,只需刷新它即可。根据您的图形需求,有一个可以集成到WXPYTHON中的Matplotlib项目。

有一个使用WXPYTHON和PYDOT的项目,您可能会发现有用:http://code.google.com/p/pyflowuca/。我在这里看到了它:http://pythonhaven.wordpress.com/2009/12/09/generating_graphs_withs_with_pydot/