Prev: Use python and Jython together? (newbie)
Next: Clustering and automated configuration & deployment toolkit with Python
From: Alex Hall on 13 Mar 2010 11:14 Hello all, I am trying to make a gui out of xrc and wxpython, but I think my understanding of Python's class/method structure is causing problems. The below code returns an error on the line panel=xrc.XRCCTRL(mf, "dl") The error goes back to wxPython itself and says "attribute error: 'none' type object has no attribute 'FindWindowById'" Here is my complete code: import wx from wx import xrc class myapp(wx.App): def OnInit(self): #load the xrc file res=xrc.XmlResource('dictionary.xrc') #load the frame containing everything else mf=res.LoadFrame(None, "mainframe") #assign all necessary controls to variables (text boxes and buttons) for easier binding #format: varName=xrc.XRCCTRL(parent, IDFromXRCFile) panel=xrc.XRCCTRL(mf, "dl") btn_go=xrc.XRCCTRL(panel, "btn_go") btn_close=xrc.XRCCTRL(panel, "btn_close") #now bind the gui controls to functions mf.Bind(wx.EVT_BUTTON, close, id=xrc.XRCID("btn_close")) mf.Show() #end def OnInit def close(self): mf.Close(True) #end def close #end class myapp win=myapp(False) win.MainLoop() That is all there is to it. I made the xrc file with XRCed, so I know it is properly formatted. I always see Python methods and classes using the "self" keyword, but I never understood why or when to/not to use it. I probably need it in the above code, but I am not sure how to insert it correctly. I have been fighting with this code for the last two days with no progress, so I would greatly appreciate any help you can provide. Thanks. -- Have a great day, Alex (msg sent from GMail website) mehgcap(a)gmail.com; http://www.facebook.com/mehgcap |