我编写了一个python应用程序,它以graphviz DOT格式生成输出。我使用外部'点'将生成的文件转换为PNG。实用程序并在图像查看器中打开生成的PNG以显示图形。
我的应用程序是一个交互式命令行工具,它允许对图形进行少量操作,例如根据边权重更改边缘颜色,删除少数节点等。在这些操作之后,我再次生成DOT文件并将其转换为PNG用于可视化。
我遇到了xdot.py,它允许我将交互式查看器嵌入到我的应用程序中。现在我不必每次都去shell生成PNG。
我想进一步理解这个想法并在此基础上构建一个完整的GUI应用程序。我对此几乎没有问题:
还有其他想法吗?非常感谢您的投入。
答案 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/