使用Lambda和元组发送到多个函数:Python、Tkinter
使用Lambda和元组发送到多个函数:Python、Tkinter,python,function,lambda,tkinter,tk,Python,Function,Lambda,Tkinter,Tk,我想使用这些元组,将第二个位置(元素名)发送到name()函数(我目前拥有并使用该函数),将第三个位置(所有元素信息)发送到info()函数,并将它们打印出来,但它们将位于不同的位置。不管我怎么努力,我似乎都做不到。您可以使用元组将多个内容发送到不同的函数吗?在创建按钮的那一行,您可以使用(愚蠢的)lambda技巧来实现这一点: def name(self, text): self.topLabel.config(text=text) def info(self, text):
我想使用这些元组,将第二个位置(元素名)发送到name()函数(我目前拥有并使用该函数),将第三个位置(所有元素信息)发送到info()函数,并将它们打印出来,但它们将位于不同的位置。不管我怎么努力,我似乎都做不到。您可以使用元组将多个内容发送到不同的函数吗?在创建按钮的那一行,您可以使用(愚蠢的)lambda技巧来实现这一点:
def name(self, text):
self.topLabel.config(text=text)
def info(self, text):
self.infoLine.config(text=text)
或者定义一个单独的函数,该函数同时调用:
tk.Button(self,text=b[0],width=5,height=2, bg="grey",
command=lambda text=b:[self.name(text[1]), self.info(text[2])] ).grid(row=r,column=c)
在创建按钮的线路上,您可以使用(愚蠢的)lambda技巧来完成此操作:
def name(self, text):
self.topLabel.config(text=text)
def info(self, text):
self.infoLine.config(text=text)
或者定义一个单独的函数,该函数同时调用:
tk.Button(self,text=b[0],width=5,height=2, bg="grey",
command=lambda text=b:[self.name(text[1]), self.info(text[2])] ).grid(row=r,column=c)
第二个建议是最好的,它更清楚代码在做什么第二个建议是最好的,它更清楚代码在做什么