Python无法分配调用函数

时间:2015-02-05 15:03:44

标签: python function tkinter

我正在tkinter的python中做一个项目,以找出你的年龄。在一行中,它说不能分配呼叫功能。这是一行:

int(y_born_in) = Entry(window, width=20, bg="yellow", foreground = "purple",     font = "X-Files")   

(我感到无聊所以我添加了字体和东西)

如果您需要,这是我的实际代码:

from tkinter import *
#key press function:
def click():
    output.delete(0.0, END)
    output.insert (2014 - int(y_born_in))
    output.insert ("\n or it could be")
    output.insert ( 2015 - int(y_born_in))
#code for the enter button
def enter_click(Event):
    output.delete(0.0, END)
    output.insert (2014 - int(y_born_in))
    output.insert ("\n or it could be")
    output.insert ( 2015 - int(y_born_in))


#collect text from text entry box
window = Tk()
window.title("how old are you?")
window.configure(background = "cyan")
#create label:
Label(window, text="please insert the year you were born", background = "hot pink",foreground = "light green", font = "X-Files") .grid( sticky=N)
#create text entry box
int(y_born_in) = Entry(window, width=20, bg="yellow", foreground = "purple", font = "X-Files")
y_born_in.grid(row=1, column=0,sticky=N)
#add a submit button
submit = Button(window, text="SUBMIT", width=6, command=click, background = "purple", fg = "yellow", font = "X-Files") .grid( sticky=N)

#create another label
Label(window, text="you were born in the year", background = "blue", foreground = "red", font = "X-Files") .grid( sticky=N)

#create text box
output = Text(window, width=75, height=8, wrap=WORD, background="coral", fg = "blue", font = "X-Files")
output.grid( sticky=N)

#enter key works as the button
window.bind("<Return>", enter_click )


window.mainloop()

1 个答案:

答案 0 :(得分:2)

您无法在作业声明的左侧调用int。相反,只需:

y_born_in = Entry(window, width=20, bg="yellow", foreground = "purple",     font = "X-Files")   

如果你试图告诉程序,“y_born_in应该是一个只接受输入数字的条目”,这有点棘手。有关详细信息,请参阅Interactively validating Entry widget content in tkinterAdding validation to an Entry widget


此外,在您尝试int(y_born_in)获取用户输入内容的所有地方(例如clickenter_click),您应该执行int(y_born_in.get())