WxWidgets:仅使用模态时是否需要 运行 MainLoop?

WxWidgets: do I need to run MainLoop when using only modals?

我正在使用 wxWdigets(准确地说是 wxPython)来显示一些模态对话框。

本页 https://wxpython.org/Phoenix/docs/html/wx.EventLoopBase.html 说:

Temporary event loops are usually created by wx.Dialog.ShowModal .

所以虽然我仍然需要创建 wx.App 对象来初始化 window 系统,但我的理解是,如果我只使用模态对话框,那么我不需要调用 MainLoopwx.App 对象上。

实际上不调用 MainLoop 似乎工作正常 - 但是我无法在 wx 文档中找到明确的答案。

我特别担心的是 MainLoop 可能会在它退出时进行一些清理,如果不调用它,我会丢失它。

所以我的问题是:仅使用模态时是否有必要调用 MainLoop

不,如果您只需要显示模式对话框,则不需要 运行 主事件循环。但是您仍然需要初始化库,这通常是通过创建 wxApp 对象来完成的,因此您仍然需要这样做。