简体   繁体   中英

NameError: name 'mainscreen' is not defined in GUI tkinter python

  1. File "C:/Users/U/Desktop/GUI/loginpage.py", line 11, in username=StringVar(mainscreen) NameError: name 'mainscreen' is not defined
  2. I try to change the name of GUI window from mainscreen to root but the same prob arise NameError: name 'root' is not defined

     from tkinter import* username=StringVar(mainscreen) pwd=StringVar(mainscreen) def login(): messagebox.showwarning("LogInDetail","username="+username.get(), "password="+pwd.get()) l3=Label(text="Your name="+username.get()) l3.place(x=10,y=125) l4=Label(text="Your password="+pwd.get()) l4.place(x=10,y=150) mainscreen=Tk() mainscreen.title("GUI") mainscreen.geometry("500x500") mainscreen.configure(bg="white") l1=Label(text="your name") l1.place(x=10,y=10) l2=Label(text="your password") l2.place(x=10,y=50) # here i provide 2 entrybox e1 and e2 e1=Entry(mainscreen,textvariable=username) e1.place(x=120,y=10) e2=Entry(mainscreen,textvariable=pwd,show="*") e2.place(x=120,y=50) # here i provide button loginbutton=Button(text="Login",bg="lightgreen",fg="black", width="15",height="8",command=login) loginbutton.place(x=120,y=90) mainscreen.mainloop() 

You did not declare mainscreen before trying to use it.

from tkinter import*

def login():

    messagebox.showwarning("LogInDetail","username="+username.get(),
    "password="+pwd.get())

    l3=Label(text="Your name="+username.get())
    l3.place(x=10,y=125)

    l4=Label(text="Your password="+pwd.get())
    l4.place(x=10,y=150)

mainscreen=Tk()
username=StringVar(mainscreen) # move here
pwd=StringVar(mainscreen) # move here
mainscreen.title("GUI")
mainscreen.geometry("500x500")
mainscreen.configure(bg="white")

l1=Label(text="your name")
l1.place(x=10,y=10)

l2=Label(text="your password")
l2.place(x=10,y=50)

# here i provide 2 entrybox e1 and e2 
e1=Entry(mainscreen,textvariable=username)
e1.place(x=120,y=10)

e2=Entry(mainscreen,textvariable=pwd,show="*")  
e2.place(x=120,y=50)

# here i provide button

loginbutton=Button(text="Login",bg="lightgreen",fg="black",
width="15",height="8",command=login)
loginbutton.place(x=120,y=90)

mainscreen.mainloop()

因为您正在访问后正在初始化mainscreen

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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