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 系统,但我的理解是,如果我只使用模态对话框,那么我不需要调用 MainLoop
在 wx.App
对象上。
实际上不调用 MainLoop
似乎工作正常 - 但是我无法在 wx 文档中找到明确的答案。
我特别担心的是 MainLoop
可能会在它退出时进行一些清理,如果不调用它,我会丢失它。
所以我的问题是:仅使用模态时是否有必要调用 MainLoop
?
不,如果您只需要显示模式对话框,则不需要 运行 主事件循环。但是您仍然需要初始化库,这通常是通过创建 wxApp
对象来完成的,因此您仍然需要这样做。
我正在使用 wxWdigets(准确地说是 wxPython)来显示一些模态对话框。
本页 https://wxpython.org/Phoenix/docs/html/wx.EventLoopBase.html 说:
Temporary event loops are usually created by wx.Dialog.ShowModal .
所以虽然我仍然需要创建 wx.App
对象来初始化 window 系统,但我的理解是,如果我只使用模态对话框,那么我不需要调用 MainLoop
在 wx.App
对象上。
实际上不调用 MainLoop
似乎工作正常 - 但是我无法在 wx 文档中找到明确的答案。
我特别担心的是 MainLoop
可能会在它退出时进行一些清理,如果不调用它,我会丢失它。
所以我的问题是:仅使用模态时是否有必要调用 MainLoop
?
不,如果您只需要显示模式对话框,则不需要 运行 主事件循环。但是您仍然需要初始化库,这通常是通过创建 wxApp
对象来完成的,因此您仍然需要这样做。