当我在 IDLE 中运行此代码时,它会崩溃。但是,如果我在 IDLE 之外运行它,它就可以正常工作。
有几个用 python 编写的 Python IDE 遇到了同样的问题,但是如果我使用不是基于它的 IDE/编辑器,它们也可以正常运行。
有什么方法可以修改此代码,以免弄乱 IDLE & Friends 吗?
import wx
def MultiChoiceDialog(parent, title, message, choices):
app = wx.PySimpleApp()
app.MainLoop()
dlg = wx.MultiChoiceDialog(parent, title, message, choices)
try:
if dlg.ShowModal() == wx.ID_OK:
selections = dlg.GetSelections()
strings = [choices[x] for x in selections]
return strings
else:
return False
finally:
dlg.Destroy()
app.Destroy()
哦,如果还不是很明显,我将其导入另一个文件,并像这样调用 MultiChoiceDialog:
#Choice = MultiChoiceDialog(None, 'Title', 'Message', ['game1', 'game2', 'game3'])