Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Lambda和元组发送到多个函数:Python、Tkinter_Python_Function_Lambda_Tkinter_Tk - Fatal编程技术网

使用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)

第二个建议是最好的,它更清楚代码在做什么第二个建议是最好的,它更清楚代码在做什么