本文介绍了如何使用技术栈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. docker仓库之harbor的基本使用(二)

    1 1.配置docker使用harbor仓库上传下载镜像 2 #注意:如果我们配置的是https的话,本地docker就不需要任何操作就可以访问harbor 3 测试机器 4 root@ubuntu1 ...

  2. Codeforces Round #801 (Div. 2) and EPIC Institute of Technology Round(C,D题解)

    Codeforces Round #801 (Div. 2) and EPIC Institute of Technology Round C - Zero Path 在这道题目中,不可以真正地进行寻 ...

  3. 分支结构_嵌套if的使用

    嵌套if 语法结构: if 条件表达式1: if 内层条件表达式: 内层条件执行体1 else: 内存条件执行体2 else: 条件执行体 外层条件+内层条件的形式 example:#模拟打折的程序如 ...

  4. 基于cornerstone.js的dicom医学影像查看浏览功能

    最近由于项目需求,需要医学影像.dcm文件的预览功能,功能完成后,基于原生Demo做一个开源分享. 心急的小伙伴可以先看如下基于原生js的全部代码: 一.全部代码 <!DOCTYPE html& ...

  5. 面试突击68:为什么 TCP 需要 3 次握手?

    TCP 三次握手是一道经典的面试题,它是指 TCP 在传递数据之前,需要进行 3 次交互才能正式建立起连接,并进行数据传递. TCP 之所以需要 3 次握手是因为 TCP 双方都是全双工的.所谓全双工 ...

  6. python 日志类

    简介 在所有项目中必不可少的一定是日志记录系统,python为我们提供了一个比较方便的日志模块logging,通常,我们都会基于此模块编写一个日志记录类,方便将项目中的日志记录到文件中. loggin ...

  7. 关于标准IO缓冲区的问题

    关于标准IO缓冲区的问题 按照标准IO缓冲区可以分为三类: 不缓存类型: 一旦有数据,直接将数据写入到文件 行缓冲类型: 同全缓冲类型 遇到\n时,将数据写入文件 全缓冲类型: 当程序结束,将数据冲洗 ...

  8. GitHub 主页美化设置教程

    GitHub profile设置教程 早些时候逛GitHub,就发现别人的主页特别的精美,当时没有空研究,前几天得空给安排了一下 先看一下成品 贴一个github上一个男人的主页 下面这个是我的 果然 ...

  9. MySQL Update执行流程解读

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.update跟踪执行配置 使用内部程序堆栈跟踪工具path_viewer,跟踪mysql update 一行数据的执行 ...

  10. Spring源码 16 IOC refresh方法11

    参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...