marc wyburn a écrit :
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()

Note that at this point, the AuditorGUI class is not yet defined, so you should get a NameError.

    GUI.mainloop()
>
class AuditorGUI(Frame):

I assume you have all necessary imports in your real code...

    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.

"does not work" is (almost) the less possible usefull description of a problem. What happens exactly ? Do you have a traceback ? If so, please post the full traceback and error message. Else, please explain what result you get. And if possible, post minimal *working* code reproducing the problem.

I'm still struggling with classes so not sure whether my problem is
tkinter related or not.

Minus the couple problems above (ie: trying to instanciate a non-yet-existing class, and lack of necessary imports), it seems correct - at least wrt/ class definition and instanciation.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to