Serious wxPython Error while executing..

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • kath

    #1

    Serious wxPython Error while executing..

    Hello, sorry about the lengthy message.

    I finding difficult to execute this program. The wx.Notebook i created
    is coming on the splitted frame(self.p2). How do I that. I am started
    to learn wxPython, and when I run the code, the code doesnot close
    gracefully, it throughs me an error.

    "pythonw.ex e has encountered a problem and needs to close. We are
    sorry for the inconvenience"

    I clicked for more information, then I got the error message which is

    "AppName: pythonw.exe AppVer: 0.0.0.0 ModName: wxmsw26uh_vc.dl l
    ModVer: 2.6.3.3 Offset: 0016bb6f
    <?xml version="1.0" encoding="UTF-16"?>
    <DATABASE>
    <EXE NAME="pythonw.e xe" FILTER="GRABMI_ FILTER_PRIVACY" >
    <MATCHING_FIL E NAME="MSVCRT.dl l" SIZE="290869"
    CHECKSUM="0x46E E5D1C" BIN_FILE_VERSIO N="6.1.9359.0 "

    BIN_PRODUCT_VER SION="6.1.9359. 0" PRODUCT_VERSION ="6.10.9359. 0"
    FILE_DESCRIPTIO N="Microsoft (R) C Runtime Library"

    COMPANY_NAME="M icrosoft Corporation" PRODUCT_NAME="M icrosoft (R) Visual
    C++" FILE_VERSION="6 .10.9359.0"

    ORIGINAL_FILENA ME="MSVCRT.DLL " INTERNAL_NAME=" MSVCRT.DLL"
    LEGAL_COPYRIGHT ="Copyright (C) Microsoft Corp. 1981-1999"

    VERFILEDATEHI=" 0x0" VERFILEDATELO=" 0x0" VERFILEOS="0x40 004"
    VERFILETYPE="0x 2" MODULE_TYPE="WI N32" PE_CHECKSUM="0x 48405"

    LINKER_VERSION= "0x0" UPTO_BIN_FILE_V ERSION="6.1.935 9.0"
    UPTO_BIN_PRODUC T_VERSION="6.1. 9359.0" LINK_DATE="09/20/2001 21:52:56"

    UPTO_LINK_DATE= "09/20/2001 21:52:56" VER_LANGUAGE="E nglish (United
    States) [0x409]" />
    ............... "

    here is the code.... seems a bit lengthy, sorry about that.
    Please help me to find my mistake, and how do I go forward resolving
    this problem.

    Code:
    import wx
    
    ID_ADD_NEW = 5001
    ID_DEACTIVATE = 5002
    ID_EXIT = 5003
    
    class _AddNewFund(wx.Panel):
    def __init__(self, parent):
    wx.Panel.__init__(self, parent)
    box=wx.StaticBox(self, -1, "Add New Fund")
    boxsizer=wx.StaticBoxSizer(box, wx.HORIZONTAL)
    
    t=wx.StaticText(self, -1, "Please select an Excel file to
    upload new funds.", (20,20))
    boxsizer.Add(t, 0, wx.TOP|wx.LEFT, 10)
    t=wx.StaticText(self, -1, "This is page one content2", (20,40))
    boxsizer.Add(t, 0, wx.TOP|wx.LEFT, 10)
    
    self.text1=wx.TextCtrl(self, -1, "")
    
    b1 = wx.Button(self, 10, " Browse ")
    b2 = wx.Button(self, 10, " Upload ", (60, 20))
    self.Bind(wx.EVT_BUTTON, self.OnBrowse, b1)
    self.Bind(wx.EVT_BUTTON, self.OnUpload, b2)
    b1.SetDefault()
    b1.SetSize(b1.GetBestSize())
    b2.SetSize(b2.GetBestSize())
    
    grid1=wx.FlexGridSizer(0,2,0,0)
    grid1.Add( self.text1, 0,
    wx.ALIGN_CENTRE|wx.LEFT|wx.RIGHT|wx.TOP, 5 )
    grid1.Add( b1, 0, wx.ALIGN_CENTRE|wx.LEFT|wx.RIGHT|wx.TOP, 5 )
    #grid1.Add( b2, 0, wx.ALIGN_CENTRE|wx.LEFT|wx.RIGHT|wx.TOP, 5 )
    border=wx.BoxSizer()
    border.Add(boxsizer, 1, wx.EXPAND)
    self.SetSizer(border)
    boxsizer.Add(grid1, 0, wx.ALIGN_CENTRE)
    border.Add(boxsizer, 0, wx.ALIGN_CENTRE)
    #print "end ADD NEW class"
    
    def OnBrowse(self, event):
    self.dirname=""
    d=wx.FileDialog(self, "Choose a file", self.dirname, "", "*.*",
    wx.Open)
    if d.ShowModal() == wx.ID_OK:
    self.filename=d.GetFilename()
    self.dirname=d.GetDirectory()
    self.text1.WriteTest(join(os.path.join(self.dirname,
    self.filename)))
    d.Destroy()
    
    def OnUpload(self, event):
    pass
    
    class ParentWindow(wx.Frame):
    def __init__(self):
    wx.Frame.__init__(self, None, -1, "Euro Fund manager")
    self.createMenu()
    self.Bind(wx.EVT_MENU, self.onAddnewfund, id=ID_ADD_NEW)
    self.Bind(wx.EVT_MENU, self.onDeactivate, id=ID_DEACTIVATE)
    self.Bind(wx.EVT_MENU, self.onExit, id=ID_EXIT)
    self.spw=wx.SplitterWindow(self)
    self.p1=wx.Panel(self.spw, style=wx.BORDER_NONE)
    self.p1.SetBackgroundColour("white")
    self.p2=wx.Panel(self.spw, style=wx.BORDER_NONE)
    
    self.spw.SplitVertically(self.p1, self.p2, 200)
    
    self.CreateStatusBar()
    
    def createMenu(self):
    menu=wx.Menu()
    menu.Append(ID_ADD_NEW, "&Add new fund(s)", "Add new fund(s)")
    menu.Append(ID_DEACTIVATE, "&Deactivate fund(s)", "Deactivate
    fund(s)")
    menu.AppendSeparator()
    menu.Append(ID_EXIT, "E&xit", "Exit")
    
    menubar=wx.MenuBar()
    menubar.Append(menu, "&File")
    self.SetMenuBar(menubar)
    
    def onAddnewfund(self, event):
    #p=wx.Panel(self.p2)
    #print "panel created"
    nb=wx.Notebook(self.p2)
    #print "notebook created"
    addPage=_AddNewFund(nb)
    nb.AddPage(addPage, "Add new Fund")
    #print "page got added"
    sizer=wx.BoxSizer()
    sizer.Add(nb, 1, wx.EXPAND)
    self.p2.SetSizer(sizer)
    #print "end of add function"
    
    def onDeactivate(self, event): pass
    
    def onExit(self, event):
    self.Close()
    
    
    app = wx.App()
    frm=ParentWindow()
    frm.SetSize((800,500))
    frm.Show()
    app.SetTopWindow(frm)
    app.MainLoop()


    thank you,
    Regards,
    kath

  • Paul McNett

    #2
    Re: Serious wxPython Error while executing..

    kath wrote:
    Hello, sorry about the lengthy message.
    >
    I finding difficult to execute this program. The wx.Notebook i created
    is coming on the splitted frame(self.p2). How do I that. I am started
    to learn wxPython, and when I run the code, the code doesnot close
    gracefully, it throughs me an error.
    >
    "pythonw.ex e has encountered a problem and needs to close. We are
    sorry for the inconvenience"
    I get a segmentation fault on Linux, after running the script, choosing
    "Add new fund" from the menu, and then closing the application. I don't
    get the segmentation fault if I merely start the app and close it.
    here is the code.... seems a bit lengthy, sorry about that.
    Please help me to find my mistake, and how do I go forward resolving
    this problem.
    You actually have several problems. But, the segmentation fault appears
    to be directly related to the fact that you add boxsizer to the border
    sizer twice.

    Another problem is that you create the notebook every single time, and
    add just one page to it, but you probably want just one notebook with
    one or more pages.

    --
    pkm ~ http://paulmcnett.com


    Comment

    Working...