TkinterでBMI計算機を作りました。ユーザー入力を受け取り、BMI を計算するビットのコーディングに成功しました。私が遭遇している問題の 1 つは、最初のクリックで「あなたは体重不足/標準/肥満です」としか表示されないことです。最初のクリックの後、このラベルは更新されなくなりますが、BMI ラベルは更新されます。
誰かがこれを修正する方法を教えてもらえますか?
from Tkinter import *
import tkMessageBox
class App(object):
def __init__(self):
self.root = Tk()
self.root.wm_title("Question 7")
self.label = Label (self.root, text= "Enter your weight in pounds.")
self.label.pack()
self.entrytext = StringVar()
Entry(self.root, textvariable=self.entrytext).pack()
self.label = Label (self.root, text= "Enter your height in inches.")
self.label.pack()
self.entrytext2 = StringVar()
Entry(self.root, textvariable=self.entrytext2).pack()
self.buttontext = StringVar()
self.buttontext.set("Calculate")
Button(self.root, textvariable=self.buttontext, command=self.clicked1).pack()
self.label = Label (self.root, text="")
self.label.pack()
self.dec = Label (self.root, text="")
self.dec.pack()
self.root.mainloop()
def clicked1(self):
w = float(self.entrytext.get())
h = float(self.entrytext2.get())
bmi = float((w/(h**2))*703)
bmi = ("Your BMI is %.2f" %bmi)
self.label.configure(text=bmi)
if bmi < 18.5:
self.dec.configure(text="You are underweight")
if 18.5 <= bmi < 25:
self.dec.configure(text="You are normal")
if 25 <= bmi < 30:
self.dec.configure(text="You are overweight")
if 30<= bmi > 30:
self.dec.configure(text="You are obese")
App()