我只从我的Entry小部件Tkinter(空闲3.5)收到0

时间:2015-12-14 21:46:28

标签: python tkinter

请原谅我,如果我在这里做了一些非常愚蠢的事情,我对python和编程一般都很陌生

window=Tk()
window.configure(background="red")
window.title("DOD")
window.geometry("600x400")

name=StringVar()
race=IntVar()

def callback3():
    print(race.get())
def callback2():
    lbl1.configure(text="Hello {}, What race do you want to be? \n            1.Human 2.Elf or 3. Dwarf".format(name.get()))
    print (name.get())
    Race=Entry(window, textvariable=race,bg='tomato')
    btn1.configure(command=callback3)
def callback1():
    lbl1.configure(text="What is your name?")
    Name=Entry(window, textvariable=name,bg='tomato')
    Name.pack()
    btn1.configure(command=callback2)

lbl1=Label(window, text="Welcome to...", bg="red")
lbl1.pack()
Photo1=PhotoImage(file="/Users/Owen/Downloads/DOD.gif")
image1=Label(window, image=Photo1)
image1.pack()
btn1=Button(window, text="Continue", command=callback1)
btn1.pack()

无论我为比赛选择投入多少数量,我都会看到: 0 0 0 0 在shell中(由于我打印输入) 我一直在猜测这都是因为它是错误的条目,但我似乎无法删除旧条目(条目事物)并将其替换为新条目。谢谢大家!

1 个答案:

答案 0 :(得分:0)

略读this page在我看来,绑定到IntVar可能不起作用。您可以尝试使用StringVar并将结果转换为整数,具体如下:

race = StringVar()
...
print int(race.get())

如果这是可以接受的,那么你可以继承StringVar以使其更漂亮。