On Nov 25, 2:31 pm, r <[EMAIL PROTECTED]> wrote: > On Nov 25, 10:38 am, marc wyburn <[EMAIL PROTECTED]> wrote: > > > > > Hi, > > > I've created my first Tkinter GUI class which consists of some buttons > > that trigger functions. I have also created a > > tkFileDialog.askdirectory control to local a root folder for log > > files. > > > I have several file paths that depend on the value of > > tkFileDialog.askdirectory should I create an object that inherits this > > value or can I point functions at the GUI class? > > > I am creating the tkinter GUI instance using; > > > if __name__ == "__main__": > > GUI = AuditorGUI() > > GUI.mainloop() > > > class AuditorGUI(Frame): > > def __init__(self): > > Frame.__init__(self) > > self.pack(expand = YES, fill = BOTH) > > > ## Create GUI objects > > > self.currentdir = StringVar() > > self.currentdir.set(os.getcwd()) > > > self.logdir = Button(self, text="Choose Data > > directory",command=self.choose_dir) > > self.logdir.grid(row=1,column=0,sticky='nsew',pady=20,padx=20) > > > self.labeldirpath = Label(self, textvariable=self.currentdir) > > > def choose_dir(self): > > dirname = tkFileDialog.askdirectory > > (parent=self,initialdir=self.currentdir.get(),title='Please select a > > directory') > > if len(dirname ) > 0: > > self.currentdir.set(dirname) > > > I think I have created an instance of the AuditorGUI class called GUI > > so should be able to access the path using GUI.currentdir but this > > doesn't work. > > > I'm still struggling with classes so not sure whether my problem is > > tkinter related or not. > > > Thanks, MW > > first off i would use a different instance variable besides "GUI". > Could be AG or auditorgui. > Also the conditional "if len(dirname ) > 0:" could simply be "if > dirname:" > When you ask for the attribute currentdir are you asking as > "GUI.currentdir.get()" or "GUI.currentdir"??? > only the second will work with a TKVAR, but there is really no need to > use a TKVAR here. I would simply do: > > self.currentdir = None > > then you could say: > if GUI.currentdir: > do this()
> When you ask for the attribute currentdir are you asking as > "GUI.currentdir.get()" or "GUI.currentdir"??? > only the second will work with a TKVAR correction: only GUI.currentdir.get() will work with TKVAR my bad:( -- http://mail.python.org/mailman/listinfo/python-list