我正在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()
答案 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 tkinter或Adding validation to an Entry widget。
此外,在您尝试int(y_born_in)
获取用户输入内容的所有地方(例如click
或enter_click
),您应该执行int(y_born_in.get())