详解PyCharm使用pyQT5进行GUI开发的基本流程

作者:黄豆爸 时间:2021-10-15 22:38:34 

本文仅作为基本操作流程的记录,不进行细节描述

一、环境安装

1、安装Pycharm

在官网上下载最新版本Pycharm安装即可

2、安装pyQT5

pycharm–File—Seting
在工程下的Python Interpreter中,安装下面三个库

详解PyCharm使用pyQT5进行GUI开发的基本流程

原始的源是国外的,速度比较慢,可以使用国内的源
配置源:

详解PyCharm使用pyQT5进行GUI开发的基本流程

清华源:https://pypi.tuna.tsinghua.edu.cn/simple/

3、创建工程

设置项目存放位置以及虚拟环境路径,注意解释器选择Python.EXE的地址

详解PyCharm使用pyQT5进行GUI开发的基本流程

二、配置扩展工具

 1、配置Qt Designer

配置Qt Designer的启动地址

详解PyCharm使用pyQT5进行GUI开发的基本流程

Program:根据自己路径配置

D:\pyQTDevelop\venv\Lib\site-packages\QtDesigner\designer.exe
工作路径:
$ProjectFileDir$

2、配置转换工具

配置ui转py文件的转换工具

详解PyCharm使用pyQT5进行GUI开发的基本流程

程序路径:
D:\pyQTDevelop\venv\Scripts\python.exe
参数:
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
路径:
$FileDir$

三、GUI设计

1、打开Qt Designer

详解PyCharm使用pyQT5进行GUI开发的基本流程

2、GUI编程

新建—开发—保存

详解PyCharm使用pyQT5进行GUI开发的基本流程

程序编写(这部分不做介绍,本文主要记录整个开发流程)

3、将ui文件转换为.py

将保存后的.ui文件转换为.py程序
选中需要转换的ui文件,运行扩展程序

详解PyCharm使用pyQT5进行GUI开发的基本流程

4、添加主程序

在生成的.py文件中,还需要增加main代码才能够正常运行


import sys
if __name__ == '__main__':
   app=QtWidgets.QApplication(sys.argv)
   MainWindow=QtWidgets.QMainWindow()
   ui=Ui_MainWindow()
   ui.setupUi(MainWindow)
   MainWindow.show()
   sys.exit(app.exec_())

四、打包发布

1、安装pyinstaller

详解PyCharm使用pyQT5进行GUI开发的基本流程

2、打包

在Terminal

详解PyCharm使用pyQT5进行GUI开发的基本流程


pyinstaller -F -w untitled.py

典型用法:


pyinstaller --paths PyQt5模块路径 -F -w --icon=窗口图标文件路径 文件名.py

--paths:指定第三方模块的安装路径
--icon:可选,设置窗口图标
-F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,
-K, –tk 在部署时包含 TCL/TK
-a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.
-d, –debug 产生debug版本的可执行文件
-w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-c,–nowindowed,–console 使用控制台子系统执行(默认)(只对Windows有效)

打包完成后,会在dist目录下生成可执行文件

详解PyCharm使用pyQT5进行GUI开发的基本流程

双击即可运行

详解PyCharm使用pyQT5进行GUI开发的基本流程

来源:https://blog.csdn.net/cw_huang/article/details/120589328

标签:PyCharm,pyQT5,GUI
0
投稿

猜你喜欢

  • Python 虚拟环境venv详解

    2021-04-12 03:44:14
  • javascript cookie的基本操作(添加和删除)

    2024-05-11 09:43:24
  • 微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析

    2024-05-11 09:34:44
  • Python 的字典(Dict)是如何存储的

    2021-01-24 05:51:27
  • python绘制横竖条形图的方法

    2021-12-03 14:15:17
  • python实现猜拳游戏项目

    2023-02-25 15:15:30
  • MySQL8下忘记密码后重置密码的办法(MySQL老方法不灵了)

    2024-01-17 11:38:49
  • Python 50行爬虫抓取并处理图灵书目过程详解

    2023-09-01 22:35:49
  • Frontpage中网页字体的美化研究

    2008-03-10 12:13:00
  • Pandas之groupby( )用法笔记小结

    2023-03-03 15:58:24
  • 关于jieba.cut与jieba.lcut的区别及说明

    2022-12-10 17:02:20
  • ASP ,IP地址分段计算

    2008-04-13 06:55:00
  • flask上传作品之dbm操作的实现

    2022-06-29 15:25:41
  • 远古幻想ICON 1套+创作思路

    2007-09-30 20:33:00
  • mysql 查询表中平均分最低的班级

    2024-01-22 05:23:45
  • 解决大字段在Form中Post出错的方法

    2008-04-17 14:00:00
  • jQuery 表单验证插件formValidation实现个性化错误提示

    2023-07-02 05:31:26
  • pandas的resample重采样的使用

    2023-04-07 10:33:29
  • Oracle 11.2.0.4打补丁的方法

    2024-01-13 08:01:26
  • python翻译软件实现代码(使用google api完成)

    2023-05-19 17:25:43
  • asp之家 网络编程 m.aspxhome.com