I'm new to programming and new to Python; namespace issues are getting the best of me. Can someone help me with the following:
import wx import sys sys.path.append('~/PyPrograms/EMRGUI') import Selectable class MyApp(wx.App): def __init__(self): wx.App.__init__(self) frame = MyFrame(None, -1, 'EMR') #create instance of MyFrame frame.Show(True) #make visible and center frame frame.Centre() class MyFrame(wx.Frame): def __init__(self, parent, id, title): wx.Frame.__init__(self, parent, id, title, size=(600,500)) nb = wx.Notebook(self) #create instance of wx.Notebook self.page1 = Form1(nb, -1) #create instance of panel Form1 with Notebook instance as parent nb.AddPage(self.page1, "Choose Patient") #add the panels as Notebook pages self.page1.SetFocus() #give focus to page 1 def patient_lookup(self, first_ltrs): #passes first letters of last name and creates new page c results self.page2 = Selectable.Repository(nb, -1, first_ltrs) #creates instance of panel Repository from Selectable mod nb.AddPage(self.page2, "Patient Lookup") #adds second page with results self.page2.SetFocus() #give focus to new page class Form1(wx.Panel): def __init__(self, parent, id): wx.Panel.__init__(self, parent, id) #inherits from wx.Panel f = wx.GetTopLevelParent(self) self.button = wx.Button(self, 10, "Search", wx.Point(200, 325)) #create instance of wx.Button wx.Button.SetTransparent(self.button, 100) #experiment with SetTransparent method self.lblname = wx.StaticText(self, -1, "Enter first letters of last name:",wx.Point(20,60)) self.editname = wx.TextCtrl(self, 20, "", wx.Point(150, 60), wx.Size(140,-1)) wx.EVT_BUTTON(self, 10, f.patient_lookup(self.editname.Value)) #calls function to get list of patients app = MyApp() #create instance of MyApp app.MainLoop() #run program I'm getting an error from the patient_lookup function: "global name 'nb' is not defined". I don't understand how a function in the same class cannot see the wx.Notebook instance "nb". I know it exists somewhere I just haven't found the name for it. I've tried "frame.nb", "self.nb", f = GetTopLevelParent(self) then f.nb. How can an instance of something just disappear? Thanks for any help. Mike -- http://mail.python.org/mailman/listinfo/python-list