python - 正确地将带有参数的函数分配给 Tkinter 中的按钮
问题描述
我有两个文件:
函数.py
import tkinter as tk
class funcs():
def func1(entry):
entry.delete(0, tk.END)
主文件
import tkinter as tk
import functions as f
root = tk.Tk()
entrybox = tk.Entry(master=root).grid()
button = tk.Button(master=root, command=f.funcs.func1(entrybox)).grid()
root.mainloop()
在main.py中,我已将带有参数entrybox的命令func1分配给小部件按钮。我的意图是让entry参数代表我想要操作的条目小部件。
这行代码坏了:
button = tk.Button(master=root, command=f.funcs.func1(entrybox)).grid()
问题是当我运行程序时,该函数被立即调用并且没有被分配给按钮。
我正在寻找一种方法来将带有参数的函数分配给tkinter 中的按钮。
解决方案
您可以使用匿名函数:
tk.Button(
master=root,
command=lambda: f.funcs.func1(entrybox)
)
推荐阅读
- c - ASM 到 C:4(%esp) 指的是什么
- php - 如何使用php遍历文件和文件夹(包括子文件夹)并找出其他文件中包含的文件的出现?
- java - Java:检查,robots.txt 是否允许 URL
- python - Pandas:获取所有具有恒定值的列
- javascript - 未选中复选框时禁用/启用按钮
- node.js - 构建失败运行 Ionic cordova build android
- python - 根据月份过滤日期并将它们粘贴到以月份为列名的新列中
- vba - VBA查找函数抛出错误
- dotcms - 如何在点 cms 中的 pullRelated 查询中写入条件值?
- html - 遇到不受支持的 CSS 时,电子邮件客户端的行为如何?