【问题标题】:Python Graphviz Editor or GUI FrameworkPython Graphviz 编辑器或 GUI 框架
【发布时间】:2014-02-13 09:20:18
【问题描述】:

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

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

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

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

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

还有其他想法吗?非常感谢您的意见。

【问题讨论】:

    标签: python graph wxpython graphviz dot


    【解决方案1】:

    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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 2011-06-26
      • 1970-01-01
      相关资源
      最近更新 更多