【问题标题】:pyqt qstatemachine graphical representationpyqt qstatemachine 图形表示
【发布时间】:2013-01-11 05:47:00
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: qt qt4 pyqt pyqt4


    【解决方案1】:

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

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

    你要这样做:

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

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

    【讨论】:

    • 这有点复杂。我对这一切都很陌生。你知道计算机程序员很懒惰,这就是为什么我们编写程序让机器为我们做这件事的原因。无论如何,没有更简单的方法来进行 fsm 可视化,或者至少有一个示例说明如何在读取到我的代码后链接点格式的文本?再次感谢!
    • 如果您只想要一张图片(非交互式),那么 dot 可以制作 PNG 图像,然后您可以在带有 setPixmap 的 QLabel 中显示它。
    • 感谢您的帮助,经过一番尝试,我设法做到了。干杯!
    猜你喜欢
    • 1970-01-01
    • 2016-10-05
    • 2021-12-18
    • 1970-01-01
    • 2013-06-21
    • 2021-02-19
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    相关资源
    最近更新 更多