WxPython使用表单窗口退出代码139

时间:2016-05-24 15:07:16

标签: python user-interface wxpython exit-code

所以这是一个非常基本的程序,但由于某种原因,它一直在崩溃退出代码139.我在网上查看了错误代码,它与内存管理有关,但是有一些明文,按钮的基本表单,对于具有16GB RAM的64位机器而言,字段不应太多。我有另一个几乎相同的类,它工作正常。我在哪里错了?

import wx

class mainForm(wx.Frame):

    def __init__(self):
        wx.Frame.__init__(self, None, title="Test")
        self.panel = wx.Panel(self)

        vbox_main = wx.BoxSizer(wx.VERTICAL)  # main vertical box

        url_box = wx.BoxSizer(wx.HORIZONTAL)
        url_label = wx.StaticText(self.panel, label="URL:")
        self.url_entry = wx.TextCtrl(self.panel)

        url_box.Add(url_box)
        url_box.Add(url_label)
        url_box.Add(self.url_entry)

        file_box = wx.BoxSizer(wx.HORIZONTAL)
        file_label = wx.StaticText(self.panel, label="File")
        self.file_entry = wx.TextCtrl(self.panel)
        file_button = wx.Button(self.panel, label="Search")
        file_button.Bind(wx.EVT_BUTTON, self.search)

        file_box.Add(file_label)
        file_box.Add(self.file_entry)
        file_box.Add(file_button)

        mode_box=wx.BoxSizer(wx.HORIZONTAL)
        mode_label=wx.StaticText(self.panel, label='Mode')
        #self.mode_button = buttons.GenToggleButton(self.panel, -1, "Autonomous Mode")

        mode_box.Add(mode_label)
        #mode_box.Add(self.mode_button)

        go_box = wx.BoxSizer(wx.HORIZONTAL)
        go_button = wx.Button(self.panel, label='Go!')
        go_button.Bind(wx.EVT_BUTTON, self.submit)
        go_box.Add(go_button)

        vbox_main.Add(url_box)
        vbox_main.Add(file_box)
        vbox_main.Add(mode_box)
        vbox_main.Add(go_box)

        self.panel.SetSizer(vbox_main)
        self.Show(True)

    def search(self):
        pass

    def submit(self):
        pass

1 个答案:

答案 0 :(得分:2)

您无法自行添加wxBoxSizer,您需要对该行进行注释:

url_box.Add(url_box)