我正在开发一个具有多个框架和串行连接的 wxPython 应用程序。我需要能够干净地退出应用程序,在应用程序终止时关闭串行连接。
最好的方法是什么?这应该由 wxApp 的子类处理吗?
谢谢, 乔希
请您参考如下方法:
不完全确定您在这里遇到了什么问题,但我会在黑暗中试一试,并假设这是一个程序组织/设计问题。
可能有更好的方法我不熟悉,但这就是我想做的:创建一个“父”对象(不必有任何特定类型)来保留对多个帧的引用.当其中一个框架从菜单或您拥有的东西接收到退出事件时,它会调用 self.parent.broadcast_quit(),它会向它所引用的每个框架发送一个退出事件。
这种方式表达了 View - Controller 分离,其中框架是 View 的一部分,父对象是告诉我何时关闭 Controller ——父对象可以很好地封装连接拆卸也是如此,因为它可以随时了解哪些框架已关闭以及何时关闭。您可以在框架本身中保留有关如何拆除 View 的详细信息,然后可以在拆除期间将“我完成了”消息发送回 Controller ,从而在父端触发一些最终拆除。
请参阅 wx.PostEvent 的文档和 Custom Event Classes . (事件是在 non-blocking GUI 中表达跨窗口消息的一种很好的规范化方式。)
