我有一个wxpython应用程序,它以这种方式运行:
if __name__ == "__main__":
app = wx.App(False)
frame = MainWindow("Application")
frame.Show()
app.MainLoop()
应用程序菜单栏上有一个“退出”菜单项,它绑定:
def onExit(self, event):
""""""
self.Close()
如果我运行脚本,单击“退出”时为什么不打印"ok"
这样:
if __name__ == "__main__":
app = wx.App(False)
frame = MainWindow("Application")
frame.Show()
app.MainLoop()
print "ok"
答案 0 :(得分:2)
当"退出"单击,究竟发生了什么?
'出口'有一个事件绑定来调用onExit方法,该方法调用此MainWindow实例的close方法。这会调用EVT_CLOSE事件,你可以选择绑定到它并控制发生的事情,如果你不绑定,它会调用Destroy方法来安全地销毁窗口。
当"退出"单击,app.MainLoop()会发生什么?
主循环将继续处理事件,除非它的最后一个顶级窗口关闭,当这发生时,mainlop结束。
点击" X"框架窗口右上角的按钮与点击&#34相同;退出"按钮?
它与生成EVT_CLOSE事件的方式相同,该事件与onExit绑定如上所述。
当我点击" X"" X"按钮,当我点击" X"时,如何杀死python.exe * 32进程结束?按钮?
当所有顶级窗口关闭时,它应该结束,你必须仍然有一个顶级窗口。
为什么不打印" ok"当我点击"退出"如果我以这种方式运行脚本
通常情况下,当没有顶级窗口时,它就会出现。