我正在编写一个在当前目录中显示特定图片的程序。在创建wx.Image
对象之前,它会检查图片是否存在。如果图片不存在,它会弹出一个消息对话框,上面写着“无法打开图片'Tsukuyo.jpg'”。然后程序会自动退出。
但是,当我运行它时,它确实退出了(根据交互式 shell),但窗口仍然没有响应。那是为什么?这是代码。
class MyFrame(wx.Frame):
"""Frame class."""
def __init__(self, parent=None, id=-1,
pos=wx.DefaultPosition,
title='Hello, Tsukuyo!', size=(200,100)):
"""Create a Frame instanc."""
wx.Frame.__init__(self, parent, id, title, pos, size)
class MyApp(wx.App):
"""Application class."""
def OnInit(self):
return True
def main():
app = MyApp()
try:
with open('Tsukuyo.jpg'): pass
except IOError:
frame = MyFrame()
frame.Show()
dlg = wx.MessageDialog(frame, "Can not open image 'Tsukuyo.jpg'.",
"Error", wx.OK)
dlg.ShowModal()
dlg.Destroy()
wx.Frame.Close(frame, True)
app.ExitMainLoop()
sys.exit(0)
## Nothing goes wrong? Show the picture.
## blah blah blah