Я начинаю изучать Python и пакет tkinter, и я пишу программу для загрузки текстового файла в окне графического интерфейса. Чтобы открыть браузер файлов, я установил кнопку и ее нужную функцию, как показано в приведенном ниже коде. Программа запускается, но когда я нажимаю кнопку «просмотр», я получаю ошибку атрибута, говоря: «Объект« assign_1 »не имеет атрибута« var_filename ». Было бы здорово, если бы кто-нибудь мог мне помочь в этом.Ошибка атрибута открытия диалогового окна открытия файла в графическом интерфейсе python с использованием tkinter
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
@Taral Так как ваш код теперь отображается, отступом также является проблема. – nbro
Мне придется перестроить его лучше со следующего раза ... в моем редакторе, его правильно идентифицировать. Спасибо за ваше время и помощь. – Taral