我目前正在将小应用从PyGTK移植到PySide,它位于您的系统中,并定期检查服务器的更新。
当我最初编写这篇文章时,我使用了一个自定义状态模型来表示它的行为:

此后,我发现Qt具有QStateMachine,这似乎非常适合这种类型的结构。然而,我无法满意地将示例应用于我的问题!
特别是:
任何指点都是非常感谢的!
发布于 2013-11-09 21:04:09
好的。Pyside.QtCore.Signal是信号和槽的导数。
至于你的问题
QEvent和Signal在QStateMachine的上下文中没有什么区别(尽管QEvent和信号和时隙是完全不同的概念)。根据您的需要,您可以使用QEvent或Signal触发转换。有关开箱即用的转换列表,请参见QAbstactTransition:
继承: QSignalTransition,QEventTransition,QMouseEventTransition,QKeyEventTransitionQObject的信号,或者您可以发送(post)自定义QEvent。您需要实现您的自定义QEvent和/或自定义QEventTransition,以便只对您的事件触发转换。onTransition()中,状态初始化代码放在onEnter()中。对我来说,在onTransition()中放置更改状态的代码似乎也是错误的,例如,您已经展示了:
def onTransition(self,e):x= e.arguments() fac = self.fact.fac self.fact.fac =x* fac self.fact.x =x-1
但正如你所见,效果很好。NB:,如果你有iOS经验,那么UIStoryboardSegue是过渡的模拟。主要用于在罗氏之间传递数据,即UI状态。
https://stackoverflow.com/questions/19784875
复制相似问题