我的代码看起来像这样,我认为全局用户名和全局密码可以工作,而不是打印用户名/密码,它打印类似于“.41238472L”的东西。我该如何解决?谢谢Python,Tkinter登录框,无法使用户名和密码全局?
from Tkinter import *
global username
global password
root = Tk()
def getName():
root.destroy()
userLabel = Label(root, text="Enter Username")
username = Entry(root, bd=5)
pwLabel = Label(root, text="Enter Password")
password = Entry(root, bd=5, show ='*')
submit = Button(root, text ="Submit", command = getName)
userLabel.pack()
username.pack()
pwLabel.pack()
password.pack()
submit.pack(side = BOTTOM)
root.mainloop()
print username
print password
'global'不会创建全局变量 - 'username = some_value'就可以。在函数中使用'global'来通知函数使用external/global变量而不是创建ocal变量。 – furas
有没有办法可以在root.mainloop()之后使用用户名和密码值?谢谢 – darrenvba
作为@Lafexlof表示'username'是'Entry'实例,您必须使用'username.get()'。如果你在'mainloop()'后需要这个值,那么你必须分配给普通变量'var_username = username.get()' - 例如在'getName()' – furas