擅长:python、mysql、java
<p>你不需要做那么多。如果捕获事件并且不调用<code>event.Skip()</code>,则它不会向前传播。因此,如果您捕获事件并且不调用<code>event.Skip()</code>或<code>self.Destroy()</code>,那么窗口将保持打开状态。在</p>
<pre><code>import wx
class MainWindow(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
self.panel = wx.Panel(self)
self.Bind(wx.EVT_CLOSE, self.on_close)
self.Show()
def on_close(self, event):
dialog = wx.MessageDialog(self, "Are you sure you want to quit?", "Caption", wx.YES_NO)
response = dialog.ShowModal()
if response == wx.ID_YES:
self.Destroy()
app = wx.App(False)
win = MainWindow(None)
app.MainLoop()
</code></pre>