基于pyqt5的可视化BMI指数计算系统

运行界面截图如下:
在这里插入图片描述

import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QMainWindow
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(630, 416)
        self.centralWidget = QtWidgets.QWidget(MainWindow)
        self.centralWidget.setObjectName("centralWidget")
        self.label = QtWidgets.QLabel(self.centralWidget)
        self.label.setGeometry(QtCore.QRect(60, 60, 54, 12))
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralWidget)
        self.label_2.setGeometry(QtCore.QRect(60, 110, 54, 12))
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.centralWidget)
        self.label_3.setGeometry(QtCore.QRect(120, 60, 54, 12))
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(self.centralWidget)
        self.label_4.setGeometry(QtCore.QRect(120, 110, 54, 12))
        self.label_4.setObjectName("label_3")
        self.height_lineEdit = QtWidgets.QLineEdit(self.centralWidget)
        self.height_lineEdit.setGeometry(QtCore.QRect(150, 60, 113, 20))
        self.height_lineEdit.setObjectName("height_lineEdit")
        self.weight_lineEdit = QtWidgets.QLineEdit(self.centralWidget)
        self.weight_lineEdit.setGeometry(QtCore.QRect(150, 110, 113, 20))
        # self.weight_lineEdit.setEchoMode(QtWidgets.QLineEdit.Password)
        self.weight_lineEdit.setObjectName("weight_lineEdit")
        self.btn = QtWidgets.QPushButton(self.centralWidget)
        self.btn.setGeometry(QtCore.QRect(150, 230, 75, 23))
        self.btn.setObjectName("btn")
        self.msg_plainTextEdit = QtWidgets.QPlainTextEdit(self.centralWidget)
        self.msg_plainTextEdit.setGeometry(QtCore.QRect(380, 60, 211, 171))
        self.msg_plainTextEdit.setObjectName("msg_plainTextEdit")
        MainWindow.setCentralWidget(self.centralWidget)
        self.menuBar = QtWidgets.QMenuBar(MainWindow)
        self.menuBar.setGeometry(QtCore.QRect(0, 0, 630, 23))
        self.menuBar.setObjectName("menuBar")
        self.menuPyQt5 = QtWidgets.QMenu(self.menuBar)
        self.menuPyQt5.setObjectName("menuPyQt5")
        self.menupython3 = QtWidgets.QMenu(self.menuBar)
        self.menupython3.setObjectName("menupython3")
        MainWindow.setMenuBar(self.menuBar)
        self.mainToolBar = QtWidgets.QToolBar(MainWindow)
        self.mainToolBar.setObjectName("mainToolBar")
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.mainToolBar)
        self.statusBar = QtWidgets.QStatusBar(MainWindow)
        self.statusBar.setObjectName("statusBar")
        MainWindow.setStatusBar(self.statusBar)
        self.actionlist = QtWidgets.QAction(MainWindow)
        self.actionlist.setObjectName("actionlist")
        self.actionlis2 = QtWidgets.QAction(MainWindow)
        self.actionlis2.setObjectName("actionlis2")
        self.actionlist3 = QtWidgets.QAction(MainWindow)
        self.actionlist3.setObjectName("actionlist3")
        self.menupython3.addSeparator()
        self.menupython3.addAction(self.actionlist)
        self.menupython3.addAction(self.actionlis2)
        self.menupython3.addAction(self.actionlist3)
        self.menuBar.addAction(self.menuPyQt5.menuAction())
        self.menuBar.addAction(self.menupython3.menuAction())

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "BMI"))
        self.label.setText(_translate("MainWindow", "height:"))
        self.label_2.setText(_translate("MainWindow", "weight:"))
        self.label_3.setText(_translate("MainWindow", "(m)"))
        self.label_4.setText(_translate("MainWindow", "(kg)"))
        self.btn.setText(_translate("MainWindow", "calculate"))
        self.menuPyQt5.setTitle(_translate("MainWindow", "PyQt5"))
        self.menupython3.setTitle(_translate("MainWindow", "BMI"))
        self.actionlist.setText(_translate("MainWindow", "list"))
        self.actionlis2.setText(_translate("MainWindow", "lis2"))
        self.actionlist3.setText(_translate("MainWindow", "list3"))


def button_clicked_event():
    global mainwindow_ui
    height = float(mainwindow_ui.height_lineEdit.text())
    weight = float(mainwindow_ui.weight_lineEdit.text())
    BMI = round(weight / (height * height), 2)
    srtReport = "BMI is " + str(BMI) + ","


    if BMI < 18.5:
        srtReport = srtReport + "Below\n"
    elif BMI >= 18.5 and BMI < 24:
        srtReport = srtReport + "Normal\n"
    elif BMI > 24:
        srtReport = srtReport + "over weight\n"

    mainwindow_ui.msg_plainTextEdit.setPlainText(str(srtReport))


if __name__ == '__main__':
    app = QApplication(sys.argv)
    mainwindow_ui = Ui_MainWindow()
    qMainWindow = QMainWindow()
    mainwindow_ui.setupUi(qMainWindow)
    mainwindow_ui.btn.clicked.connect(button_clicked_event)
    qMainWindow.show()

    sys.exit(app.exec_())


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

死磕呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值