前面写了一个体重预测的代码,感觉有点意思,所以本期再写个身高预测代码,该系列打算长期更新,有兴趣的小伙伴可以点点关注。
在上一期的基础上,增加了多个可能的结果,通过if语句进行判断,随机判断结果。
同样先制作成vbs双击即可直接运行的形式
然后运行的结果如下:
最后附上代码:
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMessageBox, QWidget
import random
class Ui_MainWindow(QWidget):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow") #通过代码设置控件的objectName
MainWindow.resize(443, 300) #设置控件的界面尺寸
self.centralwidget = QtWidgets.QWidget(MainWindow) #用户对象基类
self.centralwidget.setObjectName("centralwidget") #设置控件名称
self.pushButton = QtWidgets.QPushButton(self.centralwidget) #设置按钮控件,这里是开始预测按钮
self.pushButton.setGeometry(QtCore.QRect(100, 140, 231, 81))#设置按钮控件的尺寸
font = QtGui.QFont() #设置字体
font.setFamily("Arial") #字体类型
font.setPointSize(15) #字体的尺寸
self.pushButton.setFont(font) #载入按钮设置的字体
self.pushButton.setObjectName("pushButton") #设置该按钮控件的名称
self.label = QtWidgets.QLabel(self.centralwidget) #设置按钮控件,这里是输入你的体重
self.label.setGeometry(QtCore.QRect(30, 30, 321, 61)) #设置按钮控件的尺寸
font = QtGui.QFont() #设置字体
font.setFamily("Arial") #字体类型
font.setPointSize(15) #字体的尺寸
self.label.setFont(font) #载入按钮设置的字体
self.label.setObjectName("label") #设置该按钮控件的名称
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget) #设置按钮控件,这里是文本框输入内容
self.lineEdit.setGeometry(QtCore.QRect(250, 40, 121, 51)) #设置按钮控件的尺寸
font = QtGui.QFont() #设置字体
font.setFamily("Arial") #字体类型
font.setPointSize(15) #字体的尺寸
self.lineEdit.setFont(font) #载入按钮设置的字体
self.lineEdit.setObjectName("lineEdit") #设置该按钮控件的名称
self.label_2 = QtWidgets.QLabel(self.centralwidget) #设置按钮控件,这里是单个文字“斤”
self.label_2.setGeometry(QtCore.QRect(380, 40, 51, 51)) #设置按钮控件的尺寸
font = QtGui.QFont() #设置字体
font.setFamily("Arial") #字体类型
font.setPointSize(15) #字体的尺寸
self.label_2.setFont(font) #载入按钮设置的字体
self.label_2.setObjectName("label_2") #设置该按钮控件的名称
MainWindow.setCentralWidget(self.centralwidget) #创建qt中心窗口
self.pushButton.clicked.connect(self.get_high) #点击触发函数get_high
self.retranslateUi(MainWindow) #将主控件窗口传入retranslateUi函数中
QtCore.QMetaObject.connectSlotsByName(MainWindow) #根据objectName和signal自动绑定slot
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate #构建出当前线程需要的事件驱动器
MainWindow.setWindowIcon(QtGui.QIcon('./icon.jpg')) #设置窗口的图标
MainWindow.setWindowTitle(_translate("MainWindow", "身高预测------张某人")) #设置窗口的名称
self.pushButton.setText(_translate("MainWindow", "开始预测")) #设置控制按钮名称
self.label.setText(_translate("MainWindow", "请输入你的身高:")) #设置提示输入语的内容
self.label_2.setText(_translate("MainWindow", "cm"))
def get_high(self):
yousay_content = self.lineEdit.text() #获取输入文本的内容
zz = random.randint(0,10)
if zz%2 == 0:
self.ter = QMessageBox.about(self, "恭喜!", "你的身高大概是:{}cm".format((int(yousay_content)//10+1)*10)) #进行弹窗输出
else:
self.ter = QMessageBox.about(self, "恭喜!", "你的身高大概是:{}cm".format((int(yousay_content)//10+1)*10+5)) #进行弹窗输出
if __name__=='__main__':
import sys
app = QtWidgets.QApplication(sys.argv) #实例化一个应用对象
MainWindow = QtWidgets.QMainWindow() #窗口界面控制
ui = Ui_MainWindow() #使用定义好的类
ui.setupUi(MainWindow)
MainWindow.show() # 让控件在桌面上显示出来。控件在内存里创建,之后才能在显示器上显示出来。
sys.exit(app.exec_()) # 确保主循环安全退出