1

我正在努力实现我已经拥有的状态机的图形表示。我的问题是,如何使用 PyQT 生成图形表示?所以更清楚的是,我希望弹出一个窗口,显示状态的 fsm 和显示的转换。如果不手动绘制每个状态或构建我自己的状态绘图库,这是否可能?

谢谢。

4

1 回答 1

0

看看Graphviz,这是一套图形布局工具和库,许多其他程序都使用它来绘制图形,例如 Doxygen 和 KCacheGrind。

您可以将其用作库来链接;或者写出一个文件,调用可执行文件来处理它并读回文件。第二种(文件写入/处理/读取)方法是最常用的。

为此,您:

  1. 以点格式(一种简单的文本格式)写出图形(您的 FSM)。
  2. 使用输出格式调用dot(graphviz 工具之一)dot,这会将布局信息附加到文件中
  3. 读回点文件并使用位置信息

有几个库可以做到这一点,包括 Python,请参阅pydot

于 2013-01-10T21:47:00.383 回答