我正在编写一个程序,以便用户可以在一个窗口中输入他的详细信息,然后一个新窗口会显示输出。但是,由于某种原因,没有打印第二个窗口中的标签。
from tkinter import *
window = Tk()
window.title("Login")
window.geometry("500x500")
window.resizable(0,0)
l = Label(window, text="Name: ", font="Roman 20 bold",padx=10,pady=10)
l.grid(row=0,column=0)
l = Label(window, text="Password: ", font="Roman 20 bold",padx=10,pady=10)
l.grid(row=1,column=0)
e1 = Entry(window, font="Roman 20 bold")
e1.grid(row=0,column=1)
e2 = Entry(window, font="Roman 20 bold",show="*")
e2.grid(row=1,column=1)
def test():
a= e1.get()
b= e2.get()
mess = Tk()
mess.title("Output")
mess.geometry("500x500")
mess.resizable(0,0)
m= StringVar()
m.set("Name: "+a)
l = Label(mess, textvariable=m, font="Roman 20 bold",padx=10,pady=10)
l.grid()
n= StringVar()
n.set("Password: "+b)
l = Label(mess, textvariable=n, font="Roman 20 bold",padx=10,pady=10)
l.grid(row=1,column=0)
mess.mainloop()
b = Button(window,text="Click",font="Roman 15 bold",width=15,command= test)
b.grid(row=2,column=0)
window.mainloop()
我不认为 get() 方法有问题,因为我能够打印在 Python shell 屏幕上获得的值。所以,我认为这可能是 label() 的问题,尽管我可能错了。