簡體   English   中英

NameError:名稱“用戶名”未在 python 中使用 tkinter GUI 定義

[英]NameError: name 'username' is not defined in python with tkinter GUI

我在下面的代碼中收到了上面提到的第 28 行的錯誤。 我根本不知道問題是什么。 任何幫助表示贊賞,這是代碼:

#26/4/2020 28/4/2020 30/4/2020

def sign_in_clicked():
    username = username_entry.get()
    password = password_entry.get()
    username_entry.delete(0, END)
    password_entry.delete(0, END)

from tkinter import *

sign_in = Tk()
sign_in.title("Sign in")

sign_in_label = Label(sign_in,text="Please Sign In!").grid(row=0, column=0, columnspan=2, sticky=W)
username_label = Label(sign_in,text="Username:").grid(row=1, column=0, sticky=W)
password_label = Label(sign_in,text="password:").grid(row=2, column=0, sticky=W)

username_entry = Entry(sign_in, width=20, bg="gray70")
username_entry.grid(row=1, column=1, sticky=W)
password_entry = Entry(sign_in, width=20, bg="gray70")
password_entry.grid(row=2, column=1, sticky=W)

sign_in_button = Button(sign_in, text="Sign In", width=25, command=sign_in_clicked).grid(row=3, column=0, columnspan=2, sticky=W)

output_text = Text(sign_in, width=23, height=6, wrap=WORD, background="DarkOrchid1")
output_text.grid(row=6, column=0, columnspan=2, sticky=W)

if username=="1" and password=="2":
    output_text.insert(END, "hi")

sign_in.mainloop()

變量usernamepassword未定義。

if username=="1" and password=="2": #here you are referencing non-existant variables
    output_text.insert(END, "hi")

您只在 function 中創建usernamepassword 它們在此 function 之外不可用。

您可能想要使用username_entry.get()password_entry.get()

你應該寫:

def sign_in_clicked():
global username,password
username = username_entry.get()
password = password_entry.get()
username_entry.delete(0, END)
password_entry.delete(0, END)

我認為這將有所幫助,如果不嘗試更多地了解全球宣言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM