Serious wxPython Error while executing..

kath nitte.sudhir at gmail.com
Mon Oct 30 18:45:59 EST 2006


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.exe 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.dll
ModVer: 2.6.3.3	 Offset: 0016bb6f
<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="pythonw.exe" FILTER="GRABMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="MSVCRT.dll" SIZE="290869"
CHECKSUM="0x46EE5D1C" BIN_FILE_VERSION="6.1.9359.0"

BIN_PRODUCT_VERSION="6.1.9359.0" PRODUCT_VERSION="6.10.9359.0"
FILE_DESCRIPTION="Microsoft (R) C Runtime Library"

COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft (R) Visual
C++" FILE_VERSION="6.10.9359.0"

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

VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004"
VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x48405"

LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="6.1.9359.0"
UPTO_BIN_PRODUCT_VERSION="6.1.9359.0" LINK_DATE="09/20/2001 21:52:56"

UPTO_LINK_DATE="09/20/2001 21:52:56" VER_LANGUAGE="English (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()

[/code]



thank you,
Regards,
kath




More information about the Python-list mailing list