我完成了大部分工作,但是当我输入要计算的变量时,它不起作用。函数部分和下面的部分有问题。有人能帮帮我吗?谢谢
from tkinter import *
win = Tk()
win.title("Age Generator")
win.geometry("600x300")
win.resizable(FALSE,FALSE)
etiket = Label(text="Welcome to the age generator.\nThis app, calculates your age with the year that you will choose",font="Cambria 12",fg="gray",anchor=CENTER)
etiket.place(relx=0.1,rely=0.1)
yaz = Label(text="Enter your age:",font="Cambria 10",bg="lightgray")
yaz.place(relx=0.2,rely=0.3)
age = Entry()
age.place(relx=0.4,rely=0.3)
yaz2 = Label(text="Ener the year:",font="Cambria 10",bg="lightgray")
yaz2.place(relx=0.2,rely=0.4)
year = Entry()
year.place(relx=0.4,rely=0.4)
def get_data():
cf1 = etiket.config(text= age.get(), font= ('Helvetica 13'))
cf2 = Label.config(text= year.get(), font= ('Helvetica 13'))
# label= Label(text="", font=('Helvetica 13'))
# label.pack()
result = Label(text=f"{year} yılında {cf2 - (2023-cf1)} yaşında olacaksınız!",font="Cambria Bold 10",bg="darkgray",fg="black",anchor=CENTER)
result.pack(side=BOTTOM)
button = Button(text="Calculate My Age",command=get_data,width=15,height=2)
button.place(relx=0.3,rely=0.5)
mainloop()
我试着做一个应用程序,告诉你你的年龄与你选择的年份。例如,假设我20岁,我问我在3786年是什么年龄。机器回答我写的代码。
但是,我总是得到TypeError。
1条答案
按热度按时间laik7k3q1#
问题是
cf1
是调用config
的结果,而不是整数,cf2
也是如此,因此,f"{year} yılında {cf2 - (2023-cf1)
无法工作,因为您试图对Label
s而不是数字进行数学运算。您可以通过将每个值的
get
设置与cf1
和cf2
的config
组合分开来解决此问题