我刚接触到Tkinter,它说要转换为字符串,但我的输入是一个整数,当我运行它时,它会给出以下错误:
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
import tkinter as tk
window9 = tk.Tk()
msrp = tk.IntVar()
amgpage = tk.Label(window9, text="Mercedes Benz AMG Depreciation Calculator").pack(anchor='center')
amgpage = tk.Label(window9, text="What is the MSPR of the car?: ")
amgpage.pack()
msrp = tk.Entry(window9)
msrp.pack()
msrp.focus_set()
def callback():
value=(msrp.get())
b = tk.Button(window9, text="Save your msrp value", command=callback,fg="red")
b.pack()
amgpage = tk.Label(window9, text="What is the age of the car?: ")
amgpage.pack()
old = tk.Entry(window9)
old.pack()
old.focus_set()
def callback2():
age=(old.get())
b = tk.Button(window9, text="Save the age of the car", command=callback2,fg="blue")
b.pack()
amgpage = tk.Label(window9, text="")
amgpage.pack(anchor='w')
def msrpv():
m = callback()
p = int(m)
a = callback2()
n = int(a)
a=p*(1-0.15)**n
amgpage=tk.Label(window9,text="$"+a)
amgpage.pack()
amgmsrp = tk.Button(window9, text="Get the current value of the car.", command=msrpv,fg="green")
amgmsrp.pack()
window9.geometry("400x400")
window9.title("Mercedes Benz AMG Depreciation Calculator")
window9.mainloop()
我想用用户给我的数字,把它代入我在程序“a=p*(1-0.15)**n”中使用的等式。在
回调没有return语句,因此它们实际上返回
None
。所以在这些方面:
^{pr2}$m
和a
都被分配了None
,所以您要调用int(None)
。你可能是想做些类似的事情:以及
你根本不需要“回拨”。在
直接获取值
请注意,}只在本地限定了它们自己的函数的作用域,因此将它们放在按钮回调中没有任何作用
value
和{相关问题 更多 >
编程相关推荐