本文介绍了如何使用技术栈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. 音响音箱/恒温壶/电量显示/电子数字时钟等LED数码管显示驱动IC-VK1640B 8段12位/12段8位显示

    市面上最常用的数码管为七段/八段显示,八段数码管比七段数码管多一个发光二极管单元(比七段数码管多一个点),又按能显示多少个"8"可分为1位.2位.4位等等.数码管又分为共阳极驱动/ ...

  2. 没错,请求DNS服务器还可以使用UDP协议

    目录 简介 搭建netty客户端 在netty中发送DNS查询请求 DNS消息的处理 总结 简介 之前我们讲到了如何在netty中构建client向DNS服务器进行域名解析请求.使用的是最常见的TCP ...

  3. openstack 虚拟机网卡被重名为cirename0

    虚拟机网卡被重名为cirename0    在虚拟机挂载多网卡情况下,你在虚拟机上卸载网卡后,再创建新的port挂给虚拟机使用,如果虚拟机不经过重启的话,是不会有任何问题的.但是,如果虚拟机重启了,你 ...

  4. 常用的函数式接口_Function接口练习_自定义函数模型拼接

    package com.yang.Test.FunctionStudy; import java.util.function.Function; /** * 练习:自定义函数模型拼接 * 题目: * ...

  5. 2539-SpringSecurity系列--在有安全验证的情况下做单元测试Test

    在有安全验证的情况下做单元测试Test 版本信息 <parent> <groupId>org.springframework.boot</groupId> < ...

  6. 在半小时内从无到有开发并调试一款Chrome扩展(Chrome插件/谷歌浏览器插件)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_120 就在不久之前,我们目前这个毕业班的班长那日同学和我说,他正在公司开发Chrome扩展,看起来很高大上的技术,实际开发却非常简 ...

  7. Nginx 目录结构、Nginx服务控制命令

    # Nginx目录结构 # 首先推荐一个查看目录结构的工具 tree # yum install -y tree # sudo apt-get install -y tree ubuntu # 查看n ...

  8. 「SHOI2014」概率充电器

    题面 n <= 500000   0<= p,qi <= 100 题解 这是道概率树形DP题,但是很难推怎么用加法原理和乘法原理正向求每个点被充电的概率,所以我们求每个点不被充电的概 ...

  9. 最短路径算法-迪杰斯特拉(Dijkstra)算法在c#中的实现和生产应用

    迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径. 它的主要特点是以起始点为中心向外层层扩展(广度优先遍历思想),直到扩展到终点为止 贪心算法(Greedy ...

  10. SpringMVC 06: 日期类型的变量的注入和显示

    日期处理和日期显示 日期处理 此时SpringMVC的项目配置和SpringMVC博客集中(指SpringMVC 02)配置相同 日期处理分为单个日期处理和类中全局日期处理 单个日期处理: 使用@Da ...