当我在IDLE中运行此代码时,它会崩溃。但是,如果我在IDLE之外运行它可以正常工作。
有一些用python编写的Python IDE遇到了同样的问题,但如果我使用的IDE /编辑器不是基于它的,那些运行良好。
有没有办法修改这个代码,所以它不会破坏IDLE&朋友?
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'])
答案 0 :(得分:0)
在Ubuntu上使用wx 2.8.11.0的IDLE(2.7.2)的最新版本不会崩溃IDLE。