专栏 | Python+Pycharm+PyQT5可视化程序设计入门

作者介绍mishaw高级工程师擅长领域:轮胎建模与仿真,模态轮胎生成,虚拟路谱的整车路躁仿真,CAE NVH前后处理程序开发,结构优化 ,整车建

作者介绍

mishaw

高级工程师

擅长领域:轮胎建模与仿真,模态轮胎生成,虚拟路谱的整车路躁仿真,CAE NVH前后处理程序开发,结构优化 ,整车建模,仿真精度提升 ,NVH问题解决。

一个优秀的程序必须要有友好的可视化交互界面GUI。Python有很多GUI开发的框架,像我之前常用的是自带的Tkinter,对于一些小功能不复杂的程序是绰绰有余的,但对于功能稍微复杂,还是希望找到更简便快捷的GUI设计框架。PyQt是QT的Python版本,现在最新的版本已经是PyQt5,是Python的GUI设计之中应用较为广泛的开发框架。本文将基于广泛应用的Pycharm,搭建PyQT5的开发环境。

使用的软件版本:

  • Python 3.6
  • PyCharm Community Edition 2019.3.1 x64

1.安装PyQt模块

首先需要安装模块PyQt5

pip install pyqt5

PyQt5不再提供QtDesigner等工具,需要再安装模块pyqt5-tools

pip install pyqt5-tools

2. 在Pycharm中配置PyQt5的开发环境

需要在Pycharm中配置PyQt5的开发环境,采用的是添加外部工具的方法来实现,需要添加两个外部工具,一个是QtDesinger,用于界面设计,另一个是PyUIC,用于编译UI文件编程py文件。

打开Pycharm——File——Settings——Tools——External Tools,点击+号,按照如下设置外部工具:

2.1 配置QtDesinger

专栏 | Python+Pycharm+PyQT5可视化程序设计入门

需要填写的说明:

Name:QtDesinger

Program:C:\Program Files\Python36\Lib\site-packages\PyQt5-tools\designer\designer.exe

Working directory:$ProjectFileDir$

意思是该外部工具定义名称为QtDesinger,外部工具的地址需要自己手动选择,一般为在Python的安装路径中,最后的Working directory设置为当前项目工作目录即可,即创建的UI文件会存储在目录下。

2.2 配置PyUIC

专栏 | Python+Pycharm+PyQT5可视化程序设计入门

Name:PyUIC

Program:C:\Program Files\Python36\Scripts\pyuic5.exe

Arguments:$FileName$ -o $FileNameWithoutExtension$.py

Working directory:$ProjectFileDir$

意思是该外部工具定义名称为PyUIC,外部工具的地址需要自己手动选择,一般为在Python的安装路径中,Arguments的意思是会把UI文件转成同名的py文件,最后的Working directory设置为当前项目工作目录即可。

配置完成后,在Pycharm的Tools——External Tools,可以看到刚才配置菜单:

专栏 | Python+Pycharm+PyQT5可视化程序设计入门

打开QtDesinger,即能看到GUI设计界面:

专栏 | Python+Pycharm+PyQT5可视化程序设计入门

3. 基本使用

使用QtDesinger,设计一个计算器界面,最后保存该文件名为PyQT_Form,此时该文件应该是xml的通用格式,文件名后缀为ui。

专栏 | Python+Pycharm+PyQT5可视化程序设计入门

返回Pycharm界面,右键PyQT_Form.ui,弹出的菜单中选择External Tools——PyUIC,PyQT_Form.ui即编译成PyQT_Form.py。

专栏 | Python+Pycharm+PyQT5可视化程序设计入门

但此时该界面py文件还不能运行,本着界面设计类和逻辑实现类代码分离的原则,需要写一个主运行的py文件,命名为main_run.py,可以参考如下:

专栏 | Python+Pycharm+PyQT5可视化程序设计入门

main_run.py中继承了PyQT_Form.py的Ui_MainWindow类,同时又可以添加一些逻辑实现的代码,真正实现界面和逻辑实现的代码分析,后续修改界面,也不影响主程序的运行。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/5736.html

(0)
上一篇 2022-12-14 12:57
下一篇 2022-12-14 12:57

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信