我正在尝试为动态创建的按钮找到解决方案。例如,我的应用程序正在动态创建 5 个按钮,每个按钮在回调函数中具有不同的功能。我想要做的是,如果按下按钮 5,如果单击按钮 5,我将如何在功能上进行比较。我没有为每个按钮创建单独的功能。只有一个功能,其中我对每个按钮都有逻辑。
from tkinter import *
root = Tk()
masterFrame = Frame(root,bg = 'orange',height =300,width =600)
masterFrame.grid(row = 0,column = 0,sticky ='nsew')
ButtonString = ['DashBoard','Report','Tools','Settings','About']
# How should I compare what function to call when Button object is passed
def viewButton(btn):
def DashBoard():
pass
def Report():
pass
def Tools():
pass
#This is what I want to do
# if btn == 'DashBoard:
# DashBoard()
# if btn == 'Report:
# Report()
for index,btn in enumerate(ButtonString):
#Button text remains same for all Buttons which is "View"
btn = Button(masterFrame,text = 'View',command = viewButton)
btn.grid(row = index ,column = 0,padx =10,pady =10)
root.rowconfigure(0,weight = 1)
root.columnconfigure(0,weight =1)
root.mainloop()