gpt4 book ai didi

c++ - Qt 的状态机作为节点图?

转载 作者:太空宇宙 更新时间:2023-11-04 14:20:01 24 4
gpt4 key购买 nike

我正在尝试弄清楚如何使用节点图来处理一组数据。它用于处理声音数据的应用程序,就像您的吉他有一堆踏板一样。您有一些带有预定义过程的节点在有向图中相互连接。每个人轮流处理数据,当一个人完成时,它会向下一个节点发出信号来做它的事情。我们的想法是使用用户界面将这些节点拼凑在一起。

我正在使用 Qt 创建 UI,因此我正在查看它的文档,看看是否有我可以用来解决上述问题的东西。我找到了 Qt 状态机,据我所知,它似乎在做我需要的事情,进入一个状态,你做一些处理,当它完成时给出一个完成信号,并开始图中的下一个状态.此外,您可以嵌套状态,让我能够通过组合现有节点来创建新节点,这似乎是一个很有吸引力的想法。

然而,创建状态机是为了改变小部件的属性(改变它们的状态),而不是为了包装过程。例如,按下一个按钮,状态机改变另一个小部件的状态,例如如果释放按钮,则状态将交换回来。

因此,任何有更多经验(使用 Qt、状态机或通过节点图处理)的人都可以给我提示是否调整状态机来包装我的程序是否可行。或者,如果 Qt 库中还有其他我可以使用的东西?

最佳答案

我使用 QStateMachine 进行在线消息处理(在 online algorithm 意义上的在线)并且它工作正常,没有限制只是因为最初的想法是修改小部件。

但是,就我个人而言,我不会将它用于您的项目,因为状态机与您所描述的并不完全相同。可以根据您的需要调整它,但这肯定会很奇怪。更好的解决方案是制作一个漂亮的多态 OO 模型,您的“效果”具有基类和解耦图实现来连接它们。您可以使用 Qt 信号来指示完成图形以进行下一步。从数据构建自定义图形也比动态创建状态机的状态和转换更容易。

关于c++ - Qt 的状态机作为节点图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8388704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com