wx'easy gui'图书馆;如何防止此代码崩溃IDLE&其他python IDE?

时间:2010-01-31 02:53:01

标签: python python-idle wxwidgets

当我在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'])

1 个答案:

答案 0 :(得分:0)

在Ubuntu上使用wx 2.8.11.0的IDLE(2.7.2)的最新版本不会崩溃IDLE。