2017-07-09 51 views
1

你好,我正在tkinter上做一个登录程序,我在使用用户可以输入字符串的方框小部件时遇到了麻烦。我试图把这个字符串取出并存储在一个变量准备好另一个时间,但我试图做的方式实际上并没有保存任何东西,有没有什么我做错了?如何从用户输入的框中获取字符串? Tkinter Python

from tkinter import * 
Wsignup = Tk() 
Wsignup.title('Sign up') 

UserLabel = Label(Wsignup, text = "Please enter your new username: ") 
UserLabel.grid(row = 1, column = 1, sticky = E) 
UserEntry = Entry(Wsignup) 
UserEntry.grid(row = 1, column = 2, sticky = E) 
Username = UserEntry.get() 

PassLabel = Label(Wsignup, text = "Please enter your new password: ") 
PassLabel.grid(row = 2, column = 1, sticky = E) 
PassEntry = Entry(Wsignup, show = '*') 
PassEntry.grid(row = 2, column = 2, sticky = E) 
Password = PassEntry.get() 
+1

您在用户有机会输入内容之前调用'get()'。添加一个按钮,然后在回调函数中调用'get()'。 –

+0

您还需要调用'mainloop'来使GUI工作。类似于'Wsignup.mainloop()'在最后。否则,GUI直接关闭。 – mkiever

回答

2

您在用户有机会输入内容之前打电话给get()。添加一个按钮,并在回调函数中调用get()来代替:

def callback(): 
    # global Username, Password # if you want to set global variables 
    Username = UserEntry.get() 
    Password = PassEntry.get() 
    print(Username, Password) # or whatever you need to do with them 

Button(Wsignup, text="Login", command=callback).grid(row=3,column=1) 
相关问题