所以,我正在为当地俱乐部创建一个客户端管理器软件。我使用的是Python 3.5.1和Tkinter。
使用笔记本来嵌套我的框架。在我的第一帧中,我制作了添加新客户端(标签和文本框)的表单,并在末尾设置了一个"添加"按钮。问题是它执行与按钮关联的函数而不是单击,并且按钮实际上在单击时不执行任何操作。一直在到处寻找,这似乎是一个罕见的问题。帮助?
据我所知,如评论中所述,您没有正确设置命令。
如果你有一个功能,你需要设置my_button = tk.Button(..., command = my_function)
如果你的函数接受关键字参数,那么你需要像这样传递函数
my_button = tk.Button(...., command = lambda: function(argument))
我会尝试在命令之前使用lambda:
。
例如,将readFile(file)
替换为 lambda: readFile(file)
。
这将确保传递没有参数的匿名("lambda")函数,该函数在执行时将运行预期的代码。否则,该函数在设置行为时执行一次,然后每次都只是重新计算返回的值,而不是调用相应的函数。