我一直在尝试使用python33上的Tkinter来制作一个毕达哥拉斯定理计算器,但是遇到了一个小问题。在
这是我的密码-
from tkinter import *
import math
root = Tk()
L1 = Label(root, text="A = ")
L1.pack()
E1 = Entry(root, bd =5)
E1.pack()
L2 = Label(root, text="B = ")
L2.pack()
E2 = Entry(root, bd =5)
E2.pack()
asq = E1**2
bsq = E2**2
csq = asq + bsq
ans = math.sqrt(csq)
def showsum():
tkMessageBox.showinfo("Answer =", ans)
B1 = tkinter.Button(root, text="Click This To Calculate!", command = showsum())
B1.pack()
root.mainloop()
这是我的错误信息-
^{pr2}$请不要对我粗暴。我完全是Tkinter的初学者!在
这个错误信息非常清楚。您试图将一个
Entry
对象提升到某种程度,而不能用Entry
对象来实现,因为它们不是数字而是用户界面元素。相反,您需要的是Entry
对象中的,即用户输入的内容,您可能希望将其转换为整数或浮点。所以:程序中存在一些问题:首先,}是条目小部件,而不是数字,因此必须先检索值:
E1
和{其次,在按钮的command选项中,您正在调用函数
^{pr2}$showsum()
,而不是传递引用:此外,此函数始终显示先前计算的结果,因此您应该在此函数中检索小部件的值,而不是之前。最后,with
from tkinter import *
按钮在全局命名空间中,因此您应该删除它之前对tkinter
的引用。在所以最后
showsum
可能与此类似:相关问题 更多 >
编程相关推荐