为什么这个极其简单的wxpythonaui应用程序在启动时会崩溃?

为什么这个极其简单的wxpythonaui应用程序在启动时会崩溃?,python,wxpython,Python,Wxpython,我正在为工作做一个正则表达式测试工具。我希望它是一个简单的AUI应用程序,但在将AUI应用程序的核心从演示转移到我的代码后,它在启动时崩溃。在wxPython日志窗口消失之前,我只能看到它几秒钟,并且代码在控制台中不会产生任何错误 这是麻烦的框架。如果我注释掉所有\u mgr行,则应用程序运行正常 class RegexTesterFrame(wx.Frame): def __init__(self): wx.Frame.__init__( sel

我正在为工作做一个正则表达式测试工具。我希望它是一个简单的AUI应用程序,但在将AUI应用程序的核心从演示转移到我的代码后,它在启动时崩溃。在wxPython日志窗口消失之前,我只能看到它几秒钟,并且代码在控制台中不会产生任何错误

这是麻烦的框架。如果我注释掉所有
\u mgr
行,则应用程序运行正常

class RegexTesterFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(
            self, None, -1, 'Regex tester', (100, 100),
            (400, 400), wx.DEFAULT_FRAME_STYLE
        )

        self.initialize_components()
        self.CreateStatusBar()

    def initialize_components(self):
        self._mgr = wx.aui.AuiManager()
        self._mgr.SetManagedWindow(self)

        self._perspectives = []

        self._mgr.AddPane(
            wx.CheckBox(self, -1, 'test'),
            wx.aui.AuiPaneInfo().Name('Test pane').Caption('Test caption').Top()
        )

        self._mgr.Update()

        self.Bind(wx.EVT_CLOSE, self.on_close)

    def on_close(self, event):
        self._mgr.UnInit()
        del self._mgr
        self.Destroy()
以下是完整的代码(~100行):

这是我正在进行的演示(大型):


我对两件事很好奇——为什么应用程序会崩溃,为什么wxPython应用程序通常会崩溃时我没有得到错误输出。

从昨天开始我就一直在努力解决这个问题,但像往常一样,我一问StackOverflow问题就明白了。首先,我让应用程序在消息框中而不是在stderr中输出错误信息:

def main():
    try:
        app = RegexTesterApp(True)
        app.MainLoop()
    except:
        import traceback
        xc = traceback.format_exception(*sys.exc_info())
        wx.MessageBox(''.join(xc))

然后错误显示,
wx.aui
是我没有导入的模块。导入它修复了崩溃。

请添加一个简单的测试用例,在该测试用例中,问题也会出现在您的问题上,而不是仅仅发布包含比这里的任何人都可能读到的更多代码(超过1k LOC!)的pastebin链接。@ThiefMaster:我的代码非常小。我不希望任何人阅读整个演示代码,但我添加了它以防万一。无论如何,我把最相关的代码复制到了问题上。