【发布时间】:2020-11-05 05:05:03
【问题描述】:
例如,假设我有一些 QButtonBucket 类,其中包含一些数字 N QPushButtons,我想按下这些按钮中的任何一个来导致从某种状态转换到另一种状态.这很简单:
for button in button_bucket.get_buttons():
state_1.addTransition(button.clicked, state_2)
但是,假设我想对导致转换的源 QPushButton 做一些事情,例如如果转换是从 state_1 到 state_2,则更改它的颜色,或者如果转换是从state_3回state_1
由于QStateMachines 的异步特性,我想在QStateMachine 逻辑的严格范围内处理这个问题。我不想在QButtonBucket 中跟踪单击了哪个按钮或任何其他有状态的数据。
如果有一种方法可以获取与addTransition 中标识的信号一起传递的参数,并在进入新状态后对它们进行操作,那将非常完美。但我没有看到一个简单的解决方案来实现它。
是否有一种众所周知的好方法可以实现我想要完成的目标?
【问题讨论】:
标签: python pyqt qstatemachine