Python 界面程序设计(PyQt5)

本文详细介绍了如何通过Qt_Designer设计UI界面,配合Python实现一个BMI计算软件,包括安装所需工具、设计界面布局和编写Python后端代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     通过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程序设计(源码)

from PyQt5.QtWidgets import QApplication,QMessageBox
from PyQt5 import uic
import sys

class BmiCalc:
    def __init__(self):
        self.window = uic.loadUi('bmi_calc.ui')               #加载Qt_designer生成的ui文件,注意路径和文件名
        self.window.calc_button.clicked.connect(self.calc)    #clicked事件,表示单击鼠标左键;calc_button为ui中的按钮对象名,calc为点击后要执行的函数
        self.message = QMessageBox()                          #实例化信息框对象

    def calc(self):
        h = self.window.height_edit.text()                 #获取身高信息,返回数据为字符串
        w = self.window.weight_edit.text()                 #获取体重信息
        bmi = float(w)/float(h)**2                         #BMI计算
        #bmi数据判断
        if bmi < 18.5:
            string = '您的体型偏瘦!'
        elif 18.5 < bmi < 24:
            string = '您的体型正常!'
        else:
            string = '您的体型超重!'
        self.window.bmi_showtext.setText(str(round(bmi,2)))    #BMI数据显示
        self.message.about(self.window,'结论',string)           #弹出信息框

app = QApplication([])
bmi_calc = BmiCalc()             #实例化对象
bmi_calc.window.show()           #显示UI
sys.exit(app.exec())

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

PyQt5界面设计可以使用PyQt5的标准工具Designer来实现。Designer是一款可视化界面设计工具,可以帮助我们轻松创建界面元素。要安装和使用Designer,你可以在网上搜索相关的教程(视频)来进行参考,特别是在CSDN上有很多相关的教程和参考内容。如果你懂英语,还可以找到更多的参考资源。想了解界面设计元素的分类,你可以参考一下相关的文档和教程。至于具体的使用方法,你可以按照下面的步骤来进行操作: 1. 首先,你需要导入PyQt5的模块和QtWidgets模块。 2. 创建一个QApplication实例。 3. 创建一个QWidget实例,作为主窗口。 4. 创建一个Ui_Form实例,并调用它的setupUi()方法,将QWidget作为参数传入。这样就可以将设计好的界面元素加载到主窗口中。 5. 调用QWidget的show()方法,显示主窗口。 6. 最后,调用QApplication的exec_()方法,启动事件循环,使程序保持运行状态。 以上就是使用Designer进行PyQt5界面设计的基本步骤,你可以根据具体的需求进行进一步的开发和定制化控件。如果你想了解更多关于PyQt5界面设计的内容,可以参考引用中提供的系列教程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [PyQt5桌面应用开发(4):界面设计](https://blog.csdn.net/withstand/article/details/129736172)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值