繁体   English   中英

在 python 中使用 tkinter 创建“新用户”弹出窗口

[英]Creating a 'New User' Pop-up using tkinter in python

我正在尝试制作一个应用程序,点击链接后,您可以打开一个弹出窗口,您可以在其中为该应用程序创建一个新用户。 这会要求输入用户 ID、密码和确认密码。 当密码和确认密码不匹配时,它会给出一个消息框,说密码不匹配,但当密码实际匹配时,它会再次给出相同的消息。 有人可以帮忙解决这个问题吗?

def new_user_function(*args):
    if password == confirm_pass:
        MyDB.add_new_user(email, password)
    else:
        messagebox.showinfo("Passwords don't match")

def new_user_function_popup(*args):
    """This will open a pop up window for adding new users"""
    user_popup = Toplevel()
    user_popup.title("Create New user")

    ttk.Label(user_popup, text = "Enter Email ID").grid(column = 0, row = 0, sticky = E)
    ttk.Label(user_popup, text = "New Password").grid(column = 0, row = 1, sticky = E)
    ttk.Label(user_popup, text = "Confirm Password").grid(column = 0, row = 2, sticky = E)

    ttk.Entry(user_popup, width = 25, textvariable = user_id).grid(column = 1, row = 0, sticky = (E,W))
    ttk.Entry(user_popup, width = 25, textvariable = password, show = "*").grid(column = 1, row = 1, sticky = (E,W))
    ttk.Entry(user_popup, width = 25, textvariable = confirm_pass, show = "*").grid(column = 1, row = 2, sticky = (E,W))

    ttk.Button(user_popup, text = 'Create', command = new_user_function).grid(column = 1, row = 3, sticky = (E,W))  

user_id = StringVar()
password = StringVar()
confirm_pass = StringVar()
upload_fp = StringVar()
save_fp = StringVar()

正如stovfl正确指出的那样,解决方案是使用get()函数。 StringVar()是一个创建 python 对象的类,但是要获取值,我们需要使用类中定义的方法,而get()这样做的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM