我该怎么用而不是.get()

时间:2014-06-11 09:40:06

标签: python tkinter

使用python我编写了下面的代码。我正在尝试制作一个小的计算器,它将输入乘以5.当使用.get()命令时,我得到'NoneType'对象没有属性'get'。 有人可以帮忙吗?

from Tkinter import *

def calc_handler():
    question = entry.get()
    answer = question * 5
    print answer

main = Tk()
main.title('Calculator')
main.geometry('350x100+300+100')

instructions = Label(main, text='Input A Number And I Will Multiply It By 5').grid(row=0, columnspan=2)
entry = Entry(main).grid(row=1, columnspan=2)
enter = Button(main, text='Click Here To Calculate', command=calc_handler).grid(row=3, column=1)
clear = Button(main, text='Clear').grid(row=3, column=2)



mainloop()

1 个答案:

答案 0 :(得分:1)

很难定义它发生的原因(我估计grid返回None个对象)但更改此行:

entry = Entry(main).grid(row=1, columnspan=2)

要:

entry = Entry(main)
entry.grid(row=1, columnspan=2)

它之所以实际上没有倍增的原因是因为question是一个字符串,因此你需要在乘以它之前使用int()函数将其转换为整数:

def calc_handler():
    question = entry.get()
    answer = int(question) * 5
    print answer