绑定到按钮的命令不会获取参数,因为事件的性质是已知的。删除“事件”。
您还将答案功能绑定到事件。结果是,无论是否带有事件参数都将调用答案。摆脱绑定调用。
遵循Bryan给出的提示。停止将数字字符串传递给.configure作为位置参数。tk会尝试将其解释为字典。而是将数字字符串添加到标签字符串的其余部分。
像行一样,列从0开始。
不需要框架。
以下修订适用。
from tkinter import *root = Tk()root.title("Tip & Bill Calculator")totaltxt = Label(root, text="Total", font=("Helvitca", 16))tiptxt = Label(root, text="Tip (%)", font=("Helvitca", 16))peopletxt = Label(root, text="people", font=("Helvitca", 16))totaltxt.grid(row=0, column=0, sticky=E)tiptxt.grid(row=1, column=0, sticky=E)peopletxt.grid(row=2, column=0, sticky=E)totalentry = Entry(root)tipentry = Entry(root)peopleentry = Entry(root)totalentry.grid(row=0, column=1)tipentry.grid(row=1, column=1)peopleentry.grid(row=2, column=1)ans = Label(root, text = "ANS")ans.grid(row=4, column=0, columnspan=2, sticky=W)def answer(): total = totalentry.get() tip = tipentry.get() people = peopleentry.get() if not (total and tip): ans['text'] = 'Enter total and tip as non-0 numbers' else: total = float(total) tip = float(tip) / 100 people = int(people) if people else 1 ans['text'] = str(round(total * tip / people, 2)) + " per person"calc = Button(root, text ="Calculate", fg = "black", command = answer)calc.grid(row=3, column=1)root.mainloop()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)