我在python 2.7中用tkinter编程。使用这种语法几十次,但由于某种原因,在我声明按钮后它在这个特定的情况下它调用函数而没有我按下它。 这是代码:
def uninstall_win():
verify = Tk()
verify.title("Uninstall")
recheck = make_entry(verify, "Please Re-enter password:", 14, show='*')
b = Button(verify, borderwidth=4, text="Uninstall", pady=8, command=uninstall(recheck.get()))
b.pack()
verify.mainloop()
def make_entry(parent, caption, width=None, **options):
Label(parent, text=caption).pack(side=TOP)
entry = Entry(parent, **options)
if width:
entry.config(width=width)
entry.pack(side=TOP, padx=10, fill=BOTH)
return entry
任何见解都将受到赞赏
答案 0 :(得分:1)
在将带有参数的函数放在Button
中时,应该使用lambda。
b = Button(verify, borderwidth=4, text="Uninstall", pady=8, command=lambda: uninstall(recheck.get()))
答案 1 :(得分:0)
因为你正在调用函数而不是将函数作为可调用函数传递。
lambda: uninstall(recheck.get())
传递uninstall(recheck.get())
将命令设置为此函数返回的内容