我的登录代码以某种方式破坏了

时间:2015-07-25 04:41:46

标签: python python-2.7 tkinter

我的代码很简单... 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)

2 个答案:

答案 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()))