我的代码很简单... ish
from Tkinter import *
root=Tk()
root.title("login")
root.resizable(width=FALSE, height=FALSE)
label_1 = Label(root, text="username")
label_2 = Label(root, text="password")
entry_1 = Entry(root)
entry_2 = Entry(root, show="*")
c_1 = Checkbutton(root, text="keep me loged in")
a = entry_1.get()
b = entry_2.get()
def log_in():
print (a,b)
button_1 = Button(root, text="log in", command=log_in)
label_1.grid(row=0, sticky=E)
label_2.grid(row=1)
entry_1.grid(row=0, column=1)
entry_2.grid(row=1, column=1)
c_1.grid(row=2, columnspan=2)
button_1.grid(row=3, columnspan=2)
root.mainloop()
当你点击登录按钮时,应该回想一下你输入的内容,它将不会打印它,但是我有这样的调试,所以我可以看到它是否有效而不是它。
当我运行程序时,无论我在条目中输入什么,我都会得到A和B 我用一个略有不同的代码再次运行它,但仍然没有工作我改变了
button_1 = Button(root, text="log in", command=log_in)
到
button_1 = Button(root, text="log in", text=a,b)
即将有一个if语句
if a == "something here":
if b == "something here":
print "you are %s" % (raw_input("name?\n:"))
然后用else语句结束但是现在直到我让它工作生病留下它作为打印(a,b)
答案 0 :(得分:2)
您必须在登录功能中定义(和b)。 或者您可以使用StringVar变量。
最简单的解决方案:
def log_in():
a = entry_1.get()
b = entry_2.get()
print (a,b)
答案 1 :(得分:-1)
def log_in():
print (a,b)
button_1 = Button(root, text="log in", command=log_in)
要
def log_in(a,b):
print (a,b)
button_1 = Button(root, text="log in", command=lambda: log_in(entry_1.get(),entry_2.get()))