无法弄清楚为什么tkinter程序不会把进入变量

时间:2016-11-30 00:05:10

标签: tkinter

我一直在尝试将我的tkinter条目整天变成一个变量,并且已经提出了各种问题以找出这方面的不同方面。我觉得我现在的代码应该可以工作,当我运行它时,我没有收到任何错误,但它不会执行我想要的,这就是我所拥有的:

from tkinter import*

top = Tk('Outfit Randomizer')

#gender entry
L1 = Label(top, text = 'What is your gender? Type 1 for male and 2 for female')
L1.gride(row = 0, column = 0)
g = StringVar()
E1 = Entry(top, bd = 5, textvariable = g)
E1.grid(row = 0, column = 1)

#submit function
def submit():
    g.get()

#submit button
MyButton1 = Button(top, text = 'Submit', width = 10, command = submit)
MyButton1.grid(row = 3, column = 1)

#carry out function
gender = g.get()
if gender == '1':
    print('cool')

top.mainloop()

我是编码的新手,但据我所知这应该有效,我没有收到任何错误,但是当我在窗口输入1时没有打印。请让我知道如何解决这个问题!

1 个答案:

答案 0 :(得分:1)

您的submit函数获取输入的值 - 并且完全不做任何操作。在输入mainloop之前,打印“cool”的代码只调用一次,因此不可能输入值。您需要在submit内移动该代码。