首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 3.5.1,Tkinter:函数在启动时执行,而不是单击按钮

Python 3.5.1,Tkinter:函数在启动时执行,而不是单击按钮
EN

Stack Overflow用户
提问于 2016-03-13 12:43:33
回答 2查看 429关注 0票数 0

所以,我正在为当地的一家俱乐部创建一个客户管理软件。我使用的是Python 3.5.1和Tkinter。

我用笔记本嵌套了我的相框。在我的第一个框架中,我创建了一个表单来添加新的客户端(标签和文本框),并在最后添加了一个" add“按钮。问题是,它执行与onclick的按钮相关的功能,而按钮在单击时实际上什么也不做。我到处寻找,这似乎是一个罕见的问题。帮助?

EN

回答 2

Stack Overflow用户

发布于 2016-03-13 12:52:37

根据我所能破译的,正如评论中所说的,你没有正确设置命令。

如果你有一个函数,你需要设置my_button = tk.Button(..., command = my_function)

如果你的函数接受一个关键字参数,那么你需要像这样传递函数

代码语言:javascript
复制
my_button = tk.Button(...., command = lambda: function(argument))
票数 0
EN

Stack Overflow用户

发布于 2016-03-13 12:49:36

我会尝试在命令之前使用lambda:

例如,用lambda: readFile(file)替换readFile(file)

这将确保传递一个没有参数的匿名("lambda")函数,该函数在执行时将运行预期的代码。否则,该函数在设置行为时执行一次,然后每次都会简单地重新计算返回值,而不是调用适当的函数。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35966578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档