gpt4 book ai didi

python - 如何修复按钮命令在代码运行后立即执行的问题?

转载 作者:太空宇宙 更新时间:2023-11-03 20:48:45 26 4
gpt4 key购买 nike

我试图让一个按钮在按下时执行另一个名为 validate.py 的文件中的函数,但该函数似乎在我运行代码时立即执行,但在我实际按下它时却没有执行?

按钮的代码:

id_validate = ttk.Button(id_frame, text='Validate', 
command=validate.validate(pack_id.get()))

这是函数的代码:

def validate(pack_id):
print('vAliDAte')
return True

我希望每次单击按钮并在控制台中打印“验证”时都执行该函数,但它仅在我运行代码时执行一次,并且在按下按钮时不会响应。

如何在代码运行时停止执行并仅在按下按钮时执行?

最佳答案

函数执行是因为你调用了它;函数名以括号结束。

命令属性只需要函数的名称。

但是,您可以使用 lambda 修复此问题:

command=lambda: validate(pack_id.get())

关于在函数中使用名称 pack_id 的警告:在使用参数 pack_id.get() 调用函数时,您已经在全局范围内使用了该名称。这可能会导致问题。

关于python - 如何修复按钮命令在代码运行后立即执行的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56403113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com