我在 ubuntu 中给出这个命令
def gui_c(self):
self.button1=Button(app,text="Search",command=self.search_())
self.button1.grid()
我想search_()
通过单击此按钮来发挥作用。但在单击此函数之前,已调用此函数并且未执行 self.button1.grid()。请帮忙。
我在 ubuntu 中给出这个命令
def gui_c(self):
self.button1=Button(app,text="Search",command=self.search_())
self.button1.grid()
我想search_()
通过单击此按钮来发挥作用。但在单击此函数之前,已调用此函数并且未执行 self.button1.grid()。请帮忙。
要传递函数而不是执行它,去掉 () 括号,所以使用command=self.search_
代替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 gui_c(self):
self.button1=Button(app,text="Search",command=self.search_)
self.button1.grid()
当我刚接触 Tkinter 时,我也有这个疑问。