我开始学习Python和tkinter包,并且正在编写一个程序来在GUI窗口中加载文本文件。要打开文件浏览器,我安装了按钮及其必要的功能,如下面的代码所示。该程序运行,但当我点击“浏览”按钮,我收到一个属性错误说:“'assign_1'对象没有属性'var_filename'”。如果有人能帮助我,这将是非常棒的。使用tkinter在python GUI中打开文件对话框的属性错误
from tkinter import *
from tkinter import messagebox
from tkinter import simpledialog
from tkinter import filedialog
from math import *
from numpy import *
import string
root = Tk()
def close_window_callback(root):
if messagebox.askokcancel("Quit", "Do you really wish to quit?"):
root.destroy()
class assign_1:
def __init__(self,master):
self.master = master
frame = Frame(master)
frame.pack()
self.canvas = Canvas(master,width=1000,height=1000, bg="yellow")
self.button_browse = Button(frame, text="Browse",
command=self.browse_file)
self.button_browse.pack()
self.button_load = Button(frame, text="Load")
self.button_load.pack(side = LEFT)
self.canvas.pack(expand=YES, fill=BOTH)
def browse_file(self):
self.var_filename.set(filedialog.askopenfilename(filetypes=[("allfiles","*"),("pythonfiles","*.txt")]))
filename = self.var_filename.get()
print(filename)
root.protocol("WM_DELETE_WINDOW", lambda root_window=root: close_window_callback(root_window))
assign_1(root)
root.mainloop()
identation不一个问题...没有定义self.var_filename是问题...我现在得到它..谢谢! – Taral 2015-02-07 18:14:05
@Taral现在显示您的代码,缩进也是问题。 – nbro 2015-02-07 19:28:34
我将不得不从下次更好地重新排列......在我的编辑器中,它的设计得当。感谢您的时间和帮助。 – Taral 2015-02-08 17:47:48