wxPython 应用程序的关闭与顶级窗口对象的创建使用
1. 关闭 wxPython 应用程序
当用户关闭应用程序中的最后一个顶级窗口时,wxPython 应用程序会退出。这里的顶级窗口指的是没有父窗口的任何框架,不仅仅是使用 SetTopWindow() 方法指定的框架,还包括 wxPython 自身创建的框架。例如,在某些情况下,应用程序直到主框架和输出重定向框架都关闭才会退出,即便只有主框架使用 SetTopWindow() 进行了注册,且应用程序并未显式创建输出重定向框架。若要通过编程方式触发关闭,可以对所有顶级窗口调用 Close() 方法。
1.1 正常关闭管理
在关闭过程中,wxPython 会负责删除所有窗口并释放其资源。用户可以通过定义 wx.App 子类的 OnExit() 方法来进行自己的清理操作。该方法会在最后一个窗口关闭后、wxPython 内部清理之前被调用,可用于清理非 wxPython 资源,如数据库连接。即便使用 wx.Exit() 关闭应用程序, OnExit() 方法仍会被触发。
若希望在最后一个窗口关闭后应用程序继续运行,可以使用 wx.App 的 SetExitOnFrameDelete(flag) 方法更改默认行为。将 flag 参数设置为 False ,程序在最后一个窗口关闭后仍会继续
超级会员免费看
订阅专栏 解锁全文

608

被折叠的 条评论
为什么被折叠?



