Python写一个GUI界面的BMI计算器(使用PySimpleGUI)

先安装PySimpleGUI包

import PySimpleGUI as sg

def calc_bmi(h, w):
    try:
        h, w = float(h), float(w)
        bmi = round(w / h ** 2, 1)
        if bmi < 18.5:
            standard = '体重过轻!'
        elif 18.5 <= bmi <= 23.9:
            standard = '体重正常!'
        elif 24.0 <= bmi <= 27.9:
            standard = '体重过重,注意饮食!'
        else:
            standard = '体重肥胖,注意饮食!'
    except (ValueError, ZeroDivisionError):
        return None
    else:
        return f'BMI: {bmi}, {standard}'


layout = [[sg.Text('身高(单位:m )'), sg.InputText(size=(15,))],
          [sg.Text('体重(单位:kg)'), sg.InputText(size=(15,))],
          [sg.Button('计算 BMI', key='submit')],
          [sg.Text('', key='bmi', size=(20, 2))],
          [sg.Quit('退出', key='q')]]

window = sg.Window('BMI计算', layout, font='微软雅黑')

while True:
    event, value = window.Read()
    if event == 'submit':
        bmi = calc_bmi(value[0], value[1])
        if bmi:
            window.Element('bmi').Update(bmi, text_color='black')
        else:
            window.Element('bmi').Update('输入有误!', text_color='red')
    elif event == 'q':
        break

window.Close()

运行结果:
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值