当前位置:   article > 正文

Python 界面程序设计(PyQt5)_pyqt5界面设计

pyqt5界面设计

     通过Qt_Designer设计ui界面,配合python可以很容易设计出自己想要的界面程序,下面详细介绍下通过此方法设计一款简单的BMI(身体质量指数)计算软件。

     先来看下程序运行效果:

                                       

                                       

                                        

具体设计方法和步骤:

1.安装相关工具包

1)安装PyQt5
      pip install PyQt5 -i https://pypi.douban.com/simple 
      [也可安装PyQt6,或者PySide2、PySide6,其中PyQt是第三方公司的产品,而PySide才是QT公司的产品,PyQt因发布的早使用者更多,但后续PySide可能发展会更好(毕竟亲儿子),不过两者在使用上各模块基本一致,对学习来说没有任何影响。]

2)安装PyQt5-tools

     pip install PyQt5-tools -i https://pypi.douban.com/simple 
     如果只使用Qt-designer,也可以单独下载Qt-designer软件。

3)安装PyCharm(当然也可以选择其它编译工具)

     在PyCharm中添加Qt-designer工具,这样的话在设置程序的时候可以更方便的修改UI界面。
     首先打开pycharm“文件”->"设置"

                                               

进入“工具”->“外部工具”,点击左上角“+”,弹出“创建工具”界面,在“名称”栏输入“Qt-Designer”,在程序栏输入Qt-Designer程序所在路径(PyQt5-tools安装的话,路径一般在python目录下的“site-packages\PyQt5-tools目录下”,如果找不到可以用“Everything”软件搜索,比windows自带的好用),在工作目录栏输入“$FileDir$”,“确定”完成。

点击PyCharm工具栏,看到Qt->Qt_Designer说明添加成功,点击Qt_Designer可打开软件。

                                         

2.设计UI界面

   打开Qt_Designer,在新建类型中选择QWidget。

   1)在左边栏选择Label,拖动到设计框图中,分别输入“BMI计算工具”、“身高”、“体重”、“BMI”、“m”、“Kg”,在右侧属性栏中根据需要修改字体及大小,并进行适当排列。

   2)选择Line Edit,拖动到设计框图中,建立两个文本输入框,调整尺寸和位置,分别用于输入身高和体重信息。

   3)选择Text Browser,拖动到设计框图中,调整尺寸和位置,用于显示最终计算出的BMI信息。

   4)选择Push Button,拖动到设计框图中,建立一个按钮,在按钮上输入“计算”,调整尺寸和位置。

    完成后的UI界面大致如下。

   5)修改控键对象名。这步非常重要,选择新建的两个Line Edit框,在右侧属性编辑栏中找到“objectName”,分别修改对应的Value为“height_edit”和“weight_edit”(这个值相当于变量名,后续程序编写中要用到,可根据自己习惯来定义),同样将“Text Browser”和"Push Button"修改为“bmi_showtext”、“calc_button”,Label不需要作修改。

                                           

      设计好UI后,要对文件进行保存,保存文件为“.ui”格式,保存路径最好在对应的python工程文件下。

3.python程序设计(源码)

  1. from PyQt5.QtWidgets import QApplication,QMessageBox
  2. from PyQt5 import uic
  3. import sys
  4. class BmiCalc:
  5. def __init__(self):
  6. self.window = uic.loadUi('bmi_calc.ui') #加载Qt_designer生成的ui文件,注意路径和文件名
  7. self.window.calc_button.clicked.connect(self.calc) #clicked事件,表示单击鼠标左键;calc_button为ui中的按钮对象名,calc为点击后要执行的函数
  8. self.message = QMessageBox() #实例化信息框对象
  9. def calc(self):
  10. h = self.window.height_edit.text() #获取身高信息,返回数据为字符串
  11. w = self.window.weight_edit.text() #获取体重信息
  12. bmi = float(w)/float(h)**2 #BMI计算
  13. #bmi数据判断
  14. if bmi < 18.5:
  15. string = '您的体型偏瘦!'
  16. elif 18.5 < bmi < 24:
  17. string = '您的体型正常!'
  18. else:
  19. string = '您的体型超重!'
  20. self.window.bmi_showtext.setText(str(round(bmi,2))) #BMI数据显示
  21. self.message.about(self.window,'结论',string) #弹出信息框
  22. app = QApplication([])
  23. bmi_calc = BmiCalc() #实例化对象
  24. bmi_calc.window.show() #显示UI
  25. sys.exit(app.exec())

    可以看到程序非常简单,代码不到30行。当然如果要更严谨,还需要对输入数据类型进行判断,以防止程序出错。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/980606
推荐阅读
相关标签
  

闽ICP备14008679号