ubuntu中的Python Tkinter
我在ubuntu中发出这个命令ubuntu中的Python Tkinter,tkinter,Tkinter,我在ubuntu中发出这个命令 def gui_c(self): self.button1=Button(app,text="Search",command=self.search_()) self.button1.grid() 我想通过单击此按钮搜索函数()。但在单击之前,此函数已被调用,且self.button1.grid()未执行。 请提供帮助。要传递函数而不是执行函数,请去掉()括号,因此请使用command=self.search\u而不是command=sel
def gui_c(self):
self.button1=Button(app,text="Search",command=self.search_())
self.button1.grid()
我想通过单击此按钮搜索函数()
。但在单击之前,此函数已被调用,且self.button1.grid()未执行。
请提供帮助。要传递函数而不是执行函数,请去掉()括号,因此请使用
command=self.search\u
而不是command=self.search()
这是python引用函数本身的方式。
例如:
>>> def foo():
... print("Spam eggs bacon and spam")
...
>>> foo()
Spam eggs bacon and spam
>>> foo
<function foo at 0x7f4dac4ec2a8>
>>> a = foo
>>> a
<function foo at 0x7f4dac4ec2a8>
>>> a()
Spam eggs bacon and spam
>>def foo():
... 打印(“垃圾邮件鸡蛋培根和垃圾邮件”)
...
>>>foo()
垃圾鸡蛋培根和垃圾肉
>>>福
>>>a=foo
>>>a
>>>()
垃圾鸡蛋培根和垃圾肉
要传递函数而不是执行函数,请去掉()括号,因此使用command=self.search\u
而不是command=self.search()
这是python引用函数本身的方式。
例如:
>>> def foo():
... print("Spam eggs bacon and spam")
...
>>> foo()
Spam eggs bacon and spam
>>> foo
<function foo at 0x7f4dac4ec2a8>
>>> a = foo
>>> a
<function foo at 0x7f4dac4ec2a8>
>>> a()
Spam eggs bacon and spam
>>def foo():
... 打印(“垃圾邮件鸡蛋培根和垃圾邮件”)
...
>>>foo()
垃圾鸡蛋培根和垃圾肉
>>>福
>>>a=foo
>>>a
>>>()
垃圾鸡蛋培根和垃圾肉
您只需编写:
def gui_c(self):
self.button1=Button(app,text="Search",command=self.search_)
self.button1.grid()
这也是我刚到Tkinter时的一个疑问。你只需要写:
def gui_c(self):
self.button1=Button(app,text="Search",command=self.search_)
self.button1.grid()
当我还是Tkinter新手时,这也是我的疑问。只需在函数名前添加lambda一词即可。类似这样的内容:command=lambda:self.search齌()只需在函数名之前添加lambda一词。类似这样的内容:command=lambda:self.search