如何将 "calculating abilities" 放入 TKinter 条目中?

How do I put "calculating abilities" into TKinter entrys?

所以我或多或少地报废了我的旧糖尿病计算器,制作了这个带有 GUI 的新计算器。但是现在我的知识匮乏再次袭来...

谁能帮我创建一个带有 TKinter 条目的计算器?

新代码:

from tkinter import *
root = Tk()

root.wm_title("DiabetesC")

label_1 =Label(root, text='Kolhydrater')
label_2 =Label(root, text='Insulin igår?')
label_3 =Label(root, text='Regel, 330/500?')

label_version =Label(root, text='DiabetesC v.0.0.1 made by Pantburken')

entry_1 = Entry(root)
entry_2 = Entry(root)
entry_3 = Entry(root)

button_1 = Button(root, text='Räkna ut!')

label_version.grid(row=0, column=1)

label_1.grid(row=1, sticky=E)
label_2.grid(row=2, sticky=E)
label_3.grid(row=3, sticky=E)

entry_1.grid(row=1, column=1)
entry_2.grid(row=2, column=1)
entry_3.grid(row=3, column=1)

button_1.grid(row=4, sticky=E)
root.mainloop()

旧代码:

kolhydrater = int(input('Hur många gram kolhydrater är det i livsmedlet? ')
insulin = int(input('Hur många enheter insulin tog du igår? ')
regeln = int(input('300/500/100 regeln? ')
noname = int(regeln / insulin)
enheter = int(kolhydrater / noname)
print (enheter)

如果您明白我的意思,那么主要想法是将旧代码的功能放入带有 GUI 的新代码中?

感谢解答!

我理解你的意愿,我只是想告诉你,你应该尽量给你的变量起更有意义的名字。现在我没有改变它们,只是注意到。

这是你应该做的,按钮需要有一个命令调用一个计算公式的函数,然后在 gui 上显示。

from tkinter import *

def calc_result():
    noname = int(entry_3.get()) / int(entry_2.get())
    enheter = int(entry_1.get()) / int(entry_2.get())
    label_4 =Label(root, text='Result, ' + str(enheter))
    label_4.grid(row=5, sticky=SE)

root = Tk()

root.wm_title("DiabetesC")

label_1 =Label(root, text='Kolhydrater')
label_2 =Label(root, text='Insulin igår?')
label_3 =Label(root, text='Regel, 330/500?')

label_version =Label(root, text='DiabetesC v.0.0.1 made by Pantburken')

entry_1 = Entry(root)
entry_2 = Entry(root)
entry_3 = Entry(root)

button_1 = Button(root, text='Räkna ut!', command=calc_result)

label_version.grid(row=0, column=1)

label_1.grid(row=1, sticky=E)
label_2.grid(row=2, sticky=E)
label_3.grid(row=3, sticky=E)

entry_1.grid(row=1, column=1)
entry_2.grid(row=2, column=1)
entry_3.grid(row=3, column=1)

button_1.grid(row=4, sticky=E)
root.mainloop()

注意:

在 class 中处理和管理所有内容会容易得多。

您必须使用 entry.get() 获取数据,因为您无法在 tkinter 条目中进行数学运算。 首先获取所有值然后进行数学运算..