本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建、例子演示到对容易混淆概念的解释。文中用到的全部软件+代码下载链接为:https://url39.ctfile.com/f/2501739-683704177-83c7fe?p=2096 (访问密码: 2096)
(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后就可以看到汉化版的界面:
主要是安装PyQt5和PyQt5-tools如下:
pip install PyQt5 -i https://pypi.douban.com/simple
pip install PyQt5-tools -i https://pypi.douban.com/simple
配置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$
文件->新建->templates\forms->Widget:
在画布上拖拽一个按钮控件,然后另存为.ui文件:
转换后就多出来了一个和.ui文件相同名字的.py文件:
说明:转换.qrc文件为.py文件操作类似。
通过main()方法来加载.ui文件转换后的.py文件:
自己开发PyQt5软件的技术栈是PyCharm+Qt Designer+PyQt5。下面对容易混淆的PySide2、PySide6、PyQt5、PyQt6、Qt Designer、Qt Creator、Eric6、PyCharm等进行简要的说明:
解析:两种不同的做桌面软件的Python类库,PyQt5名气更大,PySide2是QT官方支持,不过两者的大部分接口比较类似。
解析:PySide6支持的是Qt6版本,而PySide2支持的是Qt5版本。
解析:Qt Designer主要是做UI界面的,而Qt Creator除此外还支持开发完整的Qt程序。在用Qt Creator 7.0.0时,默认支持的是PySide2和PySide6,而不是PyQt5和PyQt6。
解析: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领域的技术分享
人工智能干货推荐
专注于人工智能领域的技术分享
手机扫一扫
移动阅读更方便
你可能感兴趣的文章