【发布时间】:2020-05-26 10:15:14
【问题描述】:
这是两个按钮
second_year_icon = tk.PhotoImage(file = r"D:\Academy Management Application\Icons\2nd_year_icon.png")
global second_year_btn
second_year_btn = tk.Button(label_frame, font=LARGE_FONT, image=second_year_icon,
border=0 ,command=lambda : controller.show_frame(second_year) )
second_year_btn.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")
global first_year_btn
first_year_btn = tk.Button(label_frame, font=LARGE_FONT, image=first_year_icon
, command=lambda : controller.show_frame(second_year), border=0 )
first_year_btn.grid(row=0 , column =1, padx=(10,10) , pady=(10,0), sticky=tk.E)
现在如果单击 first_year_btn,当我单击 second_year_btn 时它也会显示相同的数据。我知道我犯了一些愚蠢的错误,但不知道是哪一个。我很几十。有谁能帮帮我吗?
reader = DictReader(f, delimiter=',')
for row in reader:
if first_year_btn:
if row['Class Name'] == '09th':
registration_no= row['Registration No']
student_name = row['Student Name']
f_name = row['Father Name']
gender = row['Gender']
class_name =row['Class Name']
class_session =row['Class Session']
admission_date =row['Admission Date']
monthly_fee = row['Monthly Fee']
dues_payment=row['Dues']
tree.insert("", 0, values=(registration_no, student_name, f_name,gender,class_name,class_session,admission_date,monthly_fee,dues_payment))
elif second_year_btn :
if row['Class Name'] == 'Second Year':
registration_no = row['Registration No']
student_name = row['Student Name']
f_name = row['Father Name']
gender = row['Gender']
class_name = row['Class Name']
class_session = row['Class Session']
admission_date = row['Admission Date']
monthly_fee = row['Monthly Fee']
dues_payment = row['Dues']
tree.insert("", 0, values=(
registration_no, student_name, f_name, gender, class_name, class_session, admission_date,
monthly_fee, dues_payment))
【问题讨论】:
-
first_year_btn应该是command=lambda: controller.show_frame(first_year)吗? -
class second_year(tk.Frame):我正在使用类方法,所以它会打开另一个框架,在那个框架中我正在打开一个表
-
我可以选择为每个按钮创建类,但它不会遵循 DRY 代码,我想为单个类中的两个按钮创建功能
-
那么您的代码如何知道哪个按钮触发了命令?
-
是的,这就是为什么我在上一个问题中也问过这个问题。我有一个 csv 文件。我想从那个 csv 文件中读取数据,我正在使用类方法,在第一类中我创建了按钮,现在在第二类中,我想根据将被单击的按钮显示数据,我非常满意。因为不知道该怎么做
标签: python python-3.x csv tkinter tk