在value()函数上,您应该使用txtDisplay.get()获取值,并使用+ str(d)将浮点值附加到字符串中
正确的代码应该是:import sys
from Tkinter import *
def value():
q = float(txtDisplay.get())
d = float(q+1.6)
label = Label(root, text='the value entered in kms is' + str(d)).pack(side=BOTTOM)
return
root = Tk()
root.title("kms converetr")
root.geometry('400x450+400+150')
frame = Frame(root)
frame.pack()
num1 = StringVar()
radbtn = StringVar()
radbtn.set(None)
frame1 = Frame(root)
frame1.pack(side=TOP)
label1 = Label(frame1, text='enter miles for conversion', fg='black',relief=RAISED)
label1.pack(side=TOP)
txtDisplay=Entry(frame1,bd=30,justify='center')
txtDisplay.pack(side=TOP)
radio1 = Radiobutton(frame1, text='kms', variable=radbtn, value='kms', command=value).pack(side=BOTTOM)
button=Button(frame1, text='miles int0kmsis', command=value).pack(side=BOTTOM)
root.mainloop()
顺便说一句,我认为你的英里公里转换是错误的,但那是另一个问题。在