You are on page 1of 2

from tkinter import * from tkinter.filedialog import askopenfilename from tkinter.

messagebox import showerror class MyFrame(Frame): def __init__(self): Frame.__init__(self) self.master.title("Example") self.master.rowconfigure(5, weight=1) self.master.columnconfigure(5, weight=1) self.grid(sticky=W+E+N+S) self.button = Button(self, text="Browse", command=self.load_file, width=10) self.button.grid(row=1, column=0, sticky=W) def load_file(self): fname = askopenfilename(filetypes=(("Template files", "*.tplate"), ("HTML files", "*.html;*.htm"), ("All files", "*.*") )) if fname: try: print("""here it comes: self.settings ["template"].set(fname)""") except: a bad idea showerror("Open Source File", "Failed to read file\n'%s'" % fname) return if __name__ == "__main__": MyFrame().mainloop() # <- naked except is

Did you try adding the self prefix to the fileName and replacing the method above the Button ? With the self, it becomes visible between methods. def load_file(self): self.fileName = filedialog.askopenfilename(filetypes = (("Template files", "*.tplate") ,("HTML files", "*.html;*.htm") ,("All

files", "*.*") )) ...

You might also like