如果缺少所需信息,请锁定 tk 按钮
Lock tk button if required information is missing
我目前正在创建一个 GUI,如果尚未输入信息(如电子邮件地址),我想锁定“继续”按钮。感谢任何试图提供帮助的人:)
为每个输入字段的 StringVars 使用 .trace()。您可以在用户开始输入输入字段时调用函数。
这是一个例子:
import tkinter as tk
root = tk.Tk()
root.geometry("200x150")
def update(*args):
if name_var.get() == '' or email_var.get() == '':
cont['state'] = tk.DISABLED
else:
cont['state'] = tk.NORMAL
name_lbl = tk.Label(root, text="Name:").pack()
name_var = tk.StringVar(root)
name_var.trace("w", update)
name = tk.Entry(root, textvariable=name_var).pack()
email_lbl = tk.Label(root, text="Email:").pack()
email_var = tk.StringVar(root)
email_var.trace("w", update)
email = tk.Entry(root, textvariable=email_var).pack()
cont = tk.Button(root, state=tk.DISABLED, text="Continue")
cont.pack(side=tk.BOTTOM)
root.mainloop()
我目前正在创建一个 GUI,如果尚未输入信息(如电子邮件地址),我想锁定“继续”按钮。感谢任何试图提供帮助的人:)
为每个输入字段的 StringVars 使用 .trace()。您可以在用户开始输入输入字段时调用函数。
这是一个例子:
import tkinter as tk
root = tk.Tk()
root.geometry("200x150")
def update(*args):
if name_var.get() == '' or email_var.get() == '':
cont['state'] = tk.DISABLED
else:
cont['state'] = tk.NORMAL
name_lbl = tk.Label(root, text="Name:").pack()
name_var = tk.StringVar(root)
name_var.trace("w", update)
name = tk.Entry(root, textvariable=name_var).pack()
email_lbl = tk.Label(root, text="Email:").pack()
email_var = tk.StringVar(root)
email_var.trace("w", update)
email = tk.Entry(root, textvariable=email_var).pack()
cont = tk.Button(root, state=tk.DISABLED, text="Continue")
cont.pack(side=tk.BOTTOM)
root.mainloop()