本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建、例子演示到对容易混淆概念的解释。文中用到的全部软件+代码下载链接为:https://url39.ctfile.com/f/2501739-683704177-83c7fe?p=2096 (访问密码: 2096)

一.开发环境安装和配置

1.安装Qt Designer和汉化

(1)安装Qt Designer

  使用版本为Qt Designer 5.11.1,安装过程就是下一步...最后完成。安装路径是D:\Program Files (x86)\Qt Designer

(2)汉化操作

  默认安装的Qt Designer是英文版本的,汉化的操作为将designer_zh_CN.qm文件放入D:\Program Files (x86)\Qt Designer\translations文件夹中即可。重启Qt Designer后就可以看到汉化版的界面:

2.安装PyQt5类库

主要是安装PyQt5和PyQt5-tools如下:

pip install PyQt5 -i https://pypi.douban.com/simple
pip install PyQt5-tools -i https://pypi.douban.com/simple

3.配置PyCharm外部工具

  配置PyCharm外部工具目的主要是为了方便的通过PyCharm将.ui(设计文件)转换为.py文件,将.qrc文件(资源文件)转换为.py文件:



1.配置QtDesigner

主要作用是通过PyCharm外部工具,可以直接通过Qt Designer打开.ui文件:

(1)Program:D:\Program Files (x86)\Qt Designer\designer.exe

(2)Working directory:$FileDir$



2.配置PyUIC

主要作用是通过PyCharm外部工具,可以直接通过命令将.ui文件转换为.py文件:

(1)Program:D:\Python37\python.exe

(2)Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

(3)Working directory:$FileDir$



3.配置Pyrcc

主要作用是通过PyCharm外部工具,可以直接通过命令将.qrc文件转换为.py文件:

(1)Program:D:\Python37\Scripts\pyrcc5.exe

(2)Arguments:$FileName$ -o $FileNameWithoutExtension$_rc.py

(3)Working directory:$FileDir$

二.PyQt5软件开发流程

1.通过Qt Designer新建窗体

文件->新建->templates\forms->Widget:



在画布上拖拽一个按钮控件,然后另存为.ui文件:

2.转换.ui文件为.py文件



转换后就多出来了一个和.ui文件相同名字的.py文件:



说明:转换.qrc文件为.py文件操作类似。

3.通过PyQt5加载.py文件

通过main()方法来加载.ui文件转换后的.py文件:

三.对容易混淆专有名词的说明

  自己开发PyQt5软件的技术栈是PyCharm+Qt Designer+PyQt5。下面对容易混淆的PySide2、PySide6、PyQt5、PyQt6、Qt Designer、Qt Creator、Eric6、PyCharm等进行简要的说明:

1.PyQt5和PySide2区别

解析:两种不同的做桌面软件的Python类库,PyQt5名气更大,PySide2是QT官方支持,不过两者的大部分接口比较类似。

2.PySide6和PySide2区别

解析:PySide6支持的是Qt6版本,而PySide2支持的是Qt5版本。

3.Qt Designer和Qt Creator区别

解析:Qt Designer主要是做UI界面的,而Qt Creator除此外还支持开发完整的Qt程序。在用Qt Creator 7.0.0时,默认支持的是PySide2和PySide6,而不是PyQt5和PyQt6。

4.Eric6是什么

解析:Eric6是Python编程的IDE,对PyQt5的支持很好。但是现在PyCharm是Python编程的主流IDE。

参考文献:

[1]Qt Designer Download:https://build-system.fman.io/qt-designer-download

[2]Qt Designer V5.11.1完全汉化版:http://www.downxia.com/downinfo/339962.html

[3]PyQt5 Reference Guide:https://www.riverbankcomputing.com/static/Docs/PyQt5/

[4]20220929_基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子.zip:https://url39.ctfile.com/f/2501739-683704177-83c7fe?p=2096 (访问密码: 2096)

吾爱DotNet

专注于.NET领域的技术分享

人工智能干货推荐

专注于人工智能领域的技术分享

基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子的更多相关文章

  1. Python3+PyQt5+PyCharm 桌面GUI开发环境搭建

    Python3+PyQt5+PyCharm 桌面GUI开发环境搭建 一.安装python PyQt5所支持的python版本是不低于3.5版本 python3.5以上的版本安装:https://www ...

  2. [z]Windows 下基于 Eclipse 的可视化远程 Linux C/C++ 开发环境搭建

    http://blog.csdn.net/lostaway/article/details/8086056 1.简介 Windows 下远程 Linux 开发工具,比较著名的就是 WinGDB 和 M ...

  3. PyQt5+Python3.5.2-32bit开发环境搭建

      1.基本环境. Window 8.1 64bit Python3.5.2-32bit.exe PyQt5 2.安装python. 去官网下载32位版本的python3.5.2(就是x86那个) 备 ...

  4. nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞

    第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...

  5. 程序员之路:python3+PyQt5+pycharm桌面GUI开发(转)

    程序员之路:python3+PyQt5+pycharm桌面GUI开发 http://blog.sina.com.cn/s/blog_989218ad0102wz1k.html 先看效果: 图 1 没错 ...

  6. Mac 桌面软件开发基础问答

    1> Mac OS X平台下的桌面软件是由什么编程语言处理 答: 由Objective-C, swift编程语言处理 2> Mac OS X平台下的桌面软件是由什么框架构建 答: 由Coc ...

  7. C# 桌面软件开发-深入学习[2]- AY-C#人爱学不学-aaronyang技术分享

    原文:C# 桌面软件开发-深入学习[2]- AY-C#人爱学不学-aaronyang技术分享 1 : C# Assembly.GetEntryAssembly().GetName().Version. ...

  8. C# 桌面软件开发-深入学习 [1]- AY-C#人爱学不学-aaronyang技术分享

    原文:C# 桌面软件开发-深入学习 [1]- AY-C#人爱学不学-aaronyang技术分享 曾经我做office,不想依赖别人dll,就使用了 Type.GetTypeFromProgID 可以根 ...

  9. PyQt5开发环境搭建

    一 写在开头1.1 本节内容开个新坑—“PyQt5系列”,慢慢填.本文主要内容为PyQt5开发环境的搭建. 注意:PyQt 5.10以上的版本在Python 3.6中有BUG,PyQt 5.10版本是 ...

随机推荐

  1. C语言课堂--现代编译环境搭建[2020年7月]

    看过了很多专家吐槽目前的大学c语言教学问题多多: 教材难懂,消磨了学生的兴趣: 环境老旧,都2020了还有在用VC6甚至TurboC 2.0,语法不规范. 轮到自己上课,心想可不能再继续这样的c语言课 ...

  2. Netty-如何写一个Http服务器

    前言 动机 最近在学习Netty框架,发现Netty是支持Http协议的.加上以前看过Spring-MVC的源码,就想着二者能不能结合一下,整一个简易的web框架(PS:其实不是整,是抄) 效果 项目 ...

  3. SkyWalking分布式系统应用程序性能监控工具-中

    其他功能 性能剖析 在系统性能监控方法上,Skywalking 提出了代码级性能剖析这种在线诊断方法.这种方法基于一个高级语言编程模型共性,即使再复杂的系统,再复杂的业务逻辑,都是基于线程去进行执行的 ...

  4. 丽泽普及2022交流赛day16 社论

    这场比较平凡吧 . 省流: http://zhengruioi.com/contest/1087 目录 目录 A. Gene 题面 题解 算法一(正解) 算法二 B. Fight 题面 题解 算法一( ...

  5. linux 邮件

    通过命令行发送邮件 [root@ProxyServer ~]# mail -s "test" justin@51cto.com dfdafd dfadf fadf EOT [roo ...

  6. Python3.7+jieba(结巴分词)配合Wordcloud2.js来构造网站标签云(关键词集合)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_138 其实很早以前就想搞一套完备的标签云架构了,迫于没有时间(其实就是懒),一直就没有弄出来完整的代码,说到底标签对于网站来说还是 ...

  7. 4.5省选模拟solution

    \(4.5\)省选测试\(solution\) 题面可是我精心准备(咕咕咕)了一周写出来的,大家就当看故事吧(那里面的人物确实是存在的,\(E\)就是本人啦,也算是对一段经历的回忆吧,所以这套考试的题 ...

  8. MODBUS转PROFINET网关将电力智能监控仪表接入PROFINET网络案例

    本案例控制的主要对象是变送器的显示与报警.系统主PLC 选用西门子CPU,通过小疆智控MODBUS 转 PROFINET网关GW-PN5001采集IM300电力智能监控仪数据. 1.首先加入 GSD ...

  9. Redis 02 数据库

    参考源 https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.999.0.0 版本 本文章基于 Redis 6.2.6 Redis 默 ...

  10. UOJ#XX A+B Problem (罔烙硫)

    题面 背景 题目描述 从前有个 n n n 个方格排成一行,从左至右依此编号为 1 , 2 , ⋯ , n 1,2,⋯,n 1,2,⋯,n. 有一天思考熊想给这 n n n 个方格染上黑白两色. 第 ...