У меня проблема, когда я помещаю свой код в класс, он не работает, но без класса он работает. Я пытаюсь получить ввод пользователя с помощью .get (), и после этого пользователь сможет выбрать файл. Все работает нормально без класса, но когда я помещаю код в класс, он говорит, когда я нажимаю кнопку «Выбрать файл» «Синтаксическая ошибка: inputbox.get not defined». Ошибка находится в строке 9. Это код, который я написал:
from tkinter import filedialog
from tkinter import *
from shutil import copyfile
class Firstpage:
#Execute the following code when choose_button is clicked
def button_action():
entry_text = inputbox.get() #Error
if (entry_text == ""):
select_label.config(text="Please first enter a file name!")
else:
window.filename = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("jar files","*.jar"),("all files","*.*")))
copyfile (window.filename, entry_text + ".jar")
command=window.quit
exit()
window = Tk()
window.title("Choose Custom JAR")
# Instruction-Label
instruct_label = Label(window, text="Choose a name for your custom JAR: ")
select_label = Label(window)
# Input
inputbox = Entry(window, bd=5, width=40)
#Button
choose_button = Button(window, text="Choose File", command=button_action)
# Components
instruct_label.grid(row = 0, column = 0)
inputbox.grid(row = 0, column = 1)
choose_button.grid(row = 1, columnspan = 2)
select_label.grid(row = 2, column = 0, columnspan = 2)
mainloop()
Я новичок в классах в Python и Tkinter. Кто-нибудь может мне помочь? Я так понимаю, простого решения не нашел.