0

在我的应用程序中,我有以下情况:

  • 物体发出信号removeCharacter
  • removeCharacter有 A 部分和 B 部分,A 部分完成后会触发信号removePath
  • 插槽onRemovePath连接到信号removePath并将删除角色的路径,然后触发信号pathRemoved
  • 插槽finishRemovingCharacter连接到信号pathRemoved并将完成字符删除过程的其余部分
  • 我不想finishRemovingCharacter在触发removePath信号时总是执行这个逻辑

是否有一些通用的方法来实现上述目标,最好是 Qt 可能已经有的东西?

编辑:我希望有一种通用的方法来指定信号和槽处理的序列,而不是需要一个中间槽来发送一个信号,它已经完成,以便下一步可以执行。

4

1 回答 1

1

在我看来,只有两种方法可以处理这种情况。

选项 1:为事件
使用两个信号。pathRemoved例如finishRemovingCharacter连接到pathRemoved但不连接到pathRemovedSpecial.

选项 2:
pathRemoved信号添加适当的参数,然后在finishRemovingCharacter插槽中检查它是否应该继续或忽略此事件,在这种情况下您只需return;.

于 2013-02-16T10:21:35.363 回答