gpt4 book ai didi

python - 从 Entry 中获取数字并使用 Tkinter 进行计算

转载 作者:太空宇宙 更新时间:2023-11-03 16:42:05 24 4
gpt4 key购买 nike

我正在为编程入门类(class)制作期末项目,并且在使用 Tkinter 和 Python 时遇到了最困难的时期。

这是我的任务:让用户输入他们的薪水收入。然后,该程序将进行以下计算:他们收入的 60% 用于支出,短期和长期储蓄的 10% 是多少,以及无负罪感支出占工资的 20% 是多少?

程序完成计算后,它将显示每个计算结果,以便用户可以使用其帐户进行适当的转账。

这是我目前拥有的代码:

from tkinter import *
from tkinter import ttk

def calculate(*args):
try:
value = float(income.get())
expenses.set(value * .60)
shortSavings.set(value * .10)
longSavings.set(value * .10)
guiltFree.set(value * .20)

except ValueError:
pass

root = Tk()
root.title("Monthly Finance Calculater")

mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)

income = StringVar()
expenses = StringVar()
shortSavings = StringVar()
longSavings = StringVar()
guiltFree = StringVar()

income_entry = ttk.Entry(mainframe, width=7, textvariable=income)
income_entry.grid(column=2, row=1, sticky=(W, E))

expenses = ttk.Entry(mainframe, width=7, textvariable=expenses)
expenses.grid(column=2, row=1, sticky=(W, E))

ttk.Label(mainframe, textvariable=income).grid(column=2, row=2, sticky=(W, E))
ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3, row=3, sticky=W)

income_entry.focus()
root.bind('<Return>', calculate)

root.mainloop()

我已经搜索了好几天了,但我完全陷入困境。我不想为我完成这件事,但确实可以使用一些关于如何使用 Tkinter 在 GUI 中完成这项工作的指导和建议。

最佳答案

Max 已经提到了一个问题。第二个问题是这个:

except ValueError:
pass

很清楚为什么如果传递异常则什么也得不到。至少使用打印,这样您就会在控制台中看到错误:

except Exception as ex:
print(ex)

我看到的最后一个真正的问题是您使用了变量expenses两次!第一次作为 StringVar(),第二次作为 Entry。最后你没有 StringVar 因为你覆盖了它。还要考虑为您的条目添加标签,因为用户还不知道他在其中输入的内容。另外学习如何使用eclipse中的调试器,它比你想象的要容易得多。这样你就可以自己找到错误。祝您项目顺利。

关于python - 从 Entry 中获取数字并使用 Tkinter 进行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36700220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com