本文介绍了如何使用技术栈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. OpenCV视频防抖技术解析

    视频防抖有很多种技术,各有优劣,主流的目前分为三种:EIS电子防抖EIS电子防抖是通过软件算法实现防抖的.其技术运作原理是通过加速度传感器和陀螺仪模块侦测手机抖动的幅度,从而来动态调节整ISO.快门以 ...

  2. AtCoder Beginner Contest 248 E - K-colinear Line // 计算几何

    原题链接:E - K-colinear Line (atcoder.jp) 题意: 给出直角坐标系上N个点(N <= 300),求经过这些点中至少K个点的直线数量,若有无穷多条,则输出" ...

  3. ArrayList的操作和对象数组

    ArrayList是List接口的一个实现类,它是程序中最常见的一种集合. ArrayList内部的数据存储结构时候数组形式,在增加或删除指定位置的元素时,会创建新的数组,效率比较低,因此不适合做大量 ...

  4. linux 安装redis及问题收集

    contos 7 下安装redis教程可参照https://www.cnblogs.com/hxun/p/11075755.html值得注意的是在第6步方法一(所以建议使用方法二),如果直接使用xft ...

  5. CF Edu Round 131 简要题解 (ABCD)

    A 分类讨论即可 . using namespace std; typedef long long ll; typedef pair<int, int> pii; int main() { ...

  6. mysql like 命中索引

    反向索引案例:CREATE TABLE my_tab(x VARCHAR2(20)); INSERT INTO my_tab VALUES('abcde'); COMMIT; CREATE INDEX ...

  7. 如何应对外包公司(文思海辉)的Python后端面试

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_151 最近春招如火如荼,我接触到的几位同学也纷纷去市场里试了试水,不得不说由于疫情的影响,导致目前中等水平的开发者择业有了些许困难 ...

  8. 暑期 2021 参与社区:新一代工作流调度——Apache DolphinScheduler

    在众多企业都在进行数字化转型的大背景下,大数据.人工智能等行业有着十分广阔的前景,其发展也可谓如火如荼.发展过程中这其中当然离不开数据采集.数据流通和数据价值挖掘等各种环节,而各环节的打通需要一个坚实 ...

  9. 计算机的主存储器(RAM)

    主存储器是存放指令和数据的,并能由 CPU 直接随机存取的存储器.主要由存储体.控制线路.地址寄存器.数据寄存器和地址译码电路五部分组成.

  10. 没写完。【java】IDEA-调教界面、设置语言、插件的使用

    步骤: 1.官方网站:https://www.jetbrains.com/idea/ (zip)版本:https://download.jetbrains.com.cn/idea/ideaIC-202 ...