from tkinter import *
from tkinter import messagebox
class BmiGui:
def __init__(self,root):
'''
定义各种组件对象
root: 窗口对象
'''
self.root=root
self.height_label=Label(master=self.root,text='请输入身高(m):')
self.weight_label=Label(master=self.root,text='请输入体重(w):')
self.height_entry=Entry(master=self.root)
self.weight_entry=Entry(master=self.root)
def place(self):
'''
放置组件
'''
self.height_label.place(x=50,y=50)
self.height_entry.place(x=160,y=50)
self.weight_label.place(x=50,y=90)
self.weight_entry.place(x=160,y=90)
def cal_BMI(self):
'''
实现BMI计算
'''
h=eval(self.height_entry.get())
w=eval(self.weight_entry.get())
bmi=w/h**2
if bmi<19:
info='标准体型'
else:
info='超重体型'
messagebox.showinfo(message='您的BMI为{:.2f},属于{}'.format(bmi,info))
if __name__=='__main__':
top=Tk()
top.title('计算体重指数')
#设置窗口大小
top.geometry('400x200')
mybmi=BmiGui(top)
mybmi.place()
login_button=Button(master=top,command=mybmi.cal_BMI,text='计算BMI')
login_button.place(x=140,y=110)
top.mainloop()
python实现窗口化计算bmi
于 2022-06-23 10:16:24 首次发布