如果缺少所需信息,请锁定 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()