У меня есть этот класс, у него есть разные кнопки, такие как первый год, второй, 9-й, 10-й
class page_two(tk.Frame):
def __init__(self , parent , controller):
global second_year_icon
global first_year_icon
global tenth_class_icon
global ninth_class_icon
global eight_class_icon
global courses_icon
global back_icon
tk.Frame.__init__(self , parent)
self.config(background='#FAEBEF')
label_frame = tk.LabelFrame(self, borderwidth=0 )
label_frame.pack( padx=(0,0), pady=(100,0))
label_frame.config(background='#FAEBEF')
second_year_icon = tk.PhotoImage(file = r"D:\Academy Management Application\Icons\2nd_year_icon.png")
button1 = tk.Button(label_frame, font=LARGE_FONT, image=second_year_icon,
border=0 ,command=lambda : controller.show_frame(second_year) )
button1.grid(row=0 , column =0, padx=(10,10) , pady=(10,0), sticky=tk.E)
first_year_icon=tk.PhotoImage(file = r"D:\Academy Management Application\Icons\1st_year_icon.png")
button1 = tk.Button(label_frame, font=LARGE_FONT, image=first_year_icon,
border=0 )
button1.grid(row=0 , column =1, padx=(10,10) , pady=(10,0), sticky=tk.E)
tenth_class_icon=tk.PhotoImage(file = r"D:\Academy Management Application\Icons\10th_class_icon.png")
button1 = tk.Button(label_frame, font=LARGE_FONT, image=tenth_class_icon,
border=0 )
button1.grid(row=1 , column =0 , padx=(10,10), pady=(10,0), sticky=tk.E)
ninth_class_icon=tk.PhotoImage(file = r"D:\Academy Management Application\Icons\9th_class_icon.png")
button1 = tk.Button(label_frame, font=LARGE_FONT, image=ninth_class_icon,
border=0 )
button1.grid(row=1 , column =1, padx=(10,10), pady=(10,0) , sticky=tk.E)
eight_class_icon=tk.PhotoImage(file = r"D:\Academy Management Application\Icons\8th_class_icon.png")
button1 = tk.Button(label_frame, font=LARGE_FONT, image=eight_class_icon,
border=0 )
button1.grid(row=2 , column =0, padx=(10,10),pady=(10,0) )
courses_icon=tk.PhotoImage(file = r"D:\Academy Management Application\Icons\courses_icon.png")
button1 = tk.Button(label_frame, font=LARGE_FONT, image=courses_icon,
border=0 )
button1.grid(row=2 , column = 1 , padx=(10,10), pady=(10,0))
back_icon=tk.PhotoImage(file = r"D:\Academy Management Application\Icons\back_icon.png")
button1 = tk.Button(label_frame, font=LARGE_FONT, image=back_icon,
border=0 ,command=lambda : controller.show_frame(start_page) )
button1.grid(row=3 , pady=(10,0), columnspan = 2 )
Теперь функция этого класса будет заключаться в том, что он будет читать файл CSV и будет отображать данные в таблице. Форма в соответствии с кнопкой, которая будет нажата, я хочу определить все функции только в этом классе, я не хочу создавать новый класс для каждой кнопки, которая будет нажата, есть ли способ, который я могу использовать, если условие else в csv и показать разные кадры? если да, пожалуйста, напишите пример кода
class second_year(tk.Frame):
def __init__(self , parent , controller):
tk.Frame.__init__(self, parent)
self.TableMargin = tk.Frame(self, width=500)
self.TableMargin.pack(side=tk.TOP)
scrollbarx = tk.Scrollbar(self, orient='horizontal')
scrollbary = tk.Scrollbar(self, orient='vertical')
tree = ttk.Treeview(self, columns=("Firstname", "Lastname", "Address"), height=400,
selectmode="extended", yscrollcommand=scrollbary.set, xscrollcommand=scrollbarx.set)
scrollbary.config(command=tree.yview)
scrollbary.pack(side=tk.RIGHT, fill=tk.Y)
scrollbarx.config(command=tree.xview)
scrollbarx.pack(side=tk.BOTTOM, fill=tk.X)
tree.heading('Firstname', text="Firstname", anchor='w')
tree.heading('Lastname', text="Lastname", anchor='w')
tree.heading('Address', text="Address", anchor='w')
tree.column('#0', stretch='NO', minwidth=0, width=0)
tree.column('#1', stretch='NO', minwidth=0, width=200)
tree.column('#2', stretch='NO', minwidth=0, width=200)
tree.column('#3', stretch='NO', minwidth=0, width=300)
tree.pack()
with open('data.csv') as f:
reader = DictReader(f, delimiter=',')
for row in reader:
firstname = row['Registration No']
lastname = row['Student Name']
address = row['Father Name']
tree.insert("", 0, values=(firstname, lastname, address))