Win10系统下Python + PyQt5 + PyQt5-tools(or QT) + Pycharm的环境搭建

结合自己的使用过程,近期整理了Win10系统下python + PyQT5 + PyQt5-tools(or QT) + pycharm环境搭建过程,Share在这里共勉共进。

解析

Python

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。

下载地址:https://www.python.org/downloads/

PyQt5

PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。PyQt是由Phil Thompson 开发。截至目前2020年,PyQt最新版本是第五版,即PyQT5。

下载地址:https://www.riverbankcomputing.com/software/pyqt/download5/

PyQt5-tools

PyQT5-tools是基于PyQt5的工具集,其包含了Qt-Designer,QML插件等,一般安装该工具集是为了使用Qt-Designer。

下载地址:https://pypi.org/project/pyqt5-tools/#files

QT

Qt 是一个跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。

下载地址:http://download.qt.io/archive/qt/

以下是基于QT的几个延伸补充:

Qt SDK:包含了 Qt 库以及 Qt 的开发工具(IDE、i18n 等工具),是一套完整的开发环境。当然,这个的体积也是最大的(Windows 平台大约 1.7G,其它平台大约 780M)。如果仅仅为开发 Qt,建议选择这一项下载安装。安装方法很简单,同普通程序没有什么区别。所需注意的是,安装过程中可能能够提供选择是否安装源代码,是否安装 mingw 编译器(Windows),这个就按照需要进行选择即可。

Qt Library:仅包含 Qt 库。如果您已经安装了 Qt 开发环境,为了升级一下 SDK 中提供的 Qt 库版本,就可以安装这一个。安装过之后,应该需要在 IDE 中配置安装路径,以便找到最新版本的 Qt(如果不是覆盖安装的话)。

Qt Creator:基于 Qt 构建的一个轻量级 IDE。包括项目生成向导、高级的 C++ 代码编辑器、浏览文件及类的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端、 qmake 构建工具等,还是比较好用的,建议使用 Qt Creator 进行开发。当然,如果你已经习惯了 VS 这样的工具,可以在页面最下方找到相应的 Addin。Qt Creator 包括项目生成向导、高级的 C++ 代码编辑器、浏览文件及类的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端,集成 qmake 构建工具等。

Qt Designer:是Qt程序UI界面的实现工具。其设计符合MVC的架构,实现视图和逻辑的分离,从而提升开发小绿。其操作方式十分灵活,可通过拖拽的方式放置控件并随时查看控件效果,所作即所见,所见即所得。其生成的.ui文件(实质上是XML格式的文件),可以通过pyuic5工具(包含在PyQt5中)转换成.py文件,作为python自定义UI库被调用,当然也是可以被python程序直接调用。

Pycharm

PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

下载地址:https://www.jetbrains.com/pycharm/download/

SIP

sip是RiverBank(也就是PyQt的开发商)开发的,用于PyQt为C和C ++库创建Python绑定的混合编程解决方案。由于Qt框架的复杂性,PyQt并没有使用Cython、SWIG的混合编程方案,而是自己单独做了一套框架。sip包括一个sip工具、SDK和Python Module。

下载地址:https://pypi.org/project/sip/#files

PIP

pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。后面Python和QT的相关工具都采用直接的PIP安装方式。如果您使用的是从python.org下载的Python 2> = 2.7.9或Python 3> = 3.4,或者您正在使用virtualenv或pyvenv创建的虚拟环境中工作,则已经安装了对应的pip,当然你也可以下载后手动安装。例如:我的Python3.8, 其默认已经安装了pip3。

下载地址:https://pypi.org/project/pip/#files

安装

关于Python和Pycharm的安装,这里就不打算介绍了,按照上面的url下载后,在win10上一步步正常按照即可。

注意以下几点:

1)下载Python时,选择对应的操作系统,体系架构和适用平台,例如我的电脑就是Windows x86-64、桌面执行使用,故选择下载Windows x86-64 executable installer,如下图:


Python

2)Python安装时可勾选添加到环境变量PATH,如忘记,可在安装完成后手动添加,如下图:

Path

3)选择对应的平台的Pycharm,下载社区版后(当然你也可付费选择专业版),正常按照即可。

Pycharm

4)Pycharm安装时可勾选添加到环境变量PATH,如忘记,可在安装完成后手动添加,如下图:


OK, 重头戏来了,下面重点介绍如何使用pip工具PyQt5 和 PyQt5-tools(or QT)的安装,当然还包括SIP的安装,并解决安装过程中遇到的问题

SIP

pip install sip

PyQt5

pip install PyQt5

PyQt5-tools

pip install PyQt5-tools

QT

就留给大家自己做吧,其实Windows下QT的安装比较简单,下载安装即可(只需要注意在安装中选中相关组件)

安装过程中可能出现以下问题和解决方案:

1)pip不匹配,安装失败

当前PC是pip/pip2, 不是最新版的pip3或者pip没有指向pip3,安装pip3即可,注意由于PyQt5仅支持python3,不支持python2,所以必须安装python3和pip3.

2)连接超时,无法下载并完成安装

若是自身网速原因,则延长访问超时时间:

pip --default-timeout=100 install PyQt5(第三方库)

若是服务器响应或者VPN问题,则更换国内下载源:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5(第三方库)

几个国内的镜像源网站供参考:

https://pypi.douban.com/simple (豆瓣)

https://pypi.tuna.tsinghua.edu.cn/simple (清华大学)

https://mirrors.ustc.edu.cn/pypi/web/simple (中国科技大学)

https://mirrors.aliyun.com/pypi/simple/ (阿里)

3)PermissionError: [WinError 5] 

需添加--user参数,即安装到python用户目录

--user

pip install --user PyQt5(第三方库)

4)PermissionError: [Errno 13] Permission denied:‘C:\Users…\AppData\Roaming\Python\Python37\site-packages\PyQt5\Qt\bin\d3dcompiler_47.dll’

因为后台有python服务在运行,所以安装失败,只需关闭与python有关的服务或者直接关机重启后重新安装即可(可能需要多次关机重启)

配置

这里主要是进行Pycharm的配置,实现以下三个目的:

1)使用Qt-Designer进行GUI设计

2)使用外部工具PyUIC转换ui文件成对应python文件

3)编译和运行python程序

打开Pycharm应用程序后,使用Ctrl+Alt+s组合键打开配置窗口,开始以下配置

1)配置GUI设计工具

在External Tools窗口添加Qt-Designer,并进行配置,如下图

Pycharm Qt-Designer
Qt-Designer

注意:Program栏Qt-Desinger的路径,Working directory栏填写变量$FileDir$即可。

2)配置PyUIC转换工具

Pycharm Py-UIC
Py-UIC

注意:Program栏Python解释器的路径,Arguments栏填写如下参数:

-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

Working directory栏填写变量$FileDir$即可。

3)配置Python程序的解释器

Pycharm - Python

应用

完成以上安装和配置,可以开始第一个基于PyQT的GUI和Python应用项目了,基本上按照以下步骤:

1)在Pycharm中打开QT_Designer进行GUI设计,生成.ui文件

Pycharm - Qt Designer
Qt Designer

2)在Pycharm中打开 PyUIC 将.ui 文件转换成.py文件

Pycharm - Py UIC

3)编写Python程序,import前面生成的.py 文件,再在其中调用

pyqt_test.py

4)拓展Python程序,定制用户所需功能

我就举例实现在上图中”点击OK按钮,显示hello world“的功能,操作以下三个步骤:

###将转换后的py文件中的

MainWindow.setCentralWidget(self.centralwidget)

MainWindow.setMenuBar(self.menubar)

MainWindow.setStatusBar(self.statusbar)

这3行语句注释掉,然后就可以在这个界面的基础上愉快的实现自己的功能,不然后面整体编译时不通过。原因时什么呢?请自查......

###修改主程序,如下图

pyqt_test.py

###新添加click.py文件,实现点击显示的功能,作为主程序调用库

click.py

运行主程序,点击ok按钮,显示hello world, 最终实现效果图:

pyqt_test.py

Anyway,这部分就留给读者,根据你的需求发挥你的想象,在自己的Python应用程序中遨游吧!

参考:

https://blog.csdn.net/qq_44740544/article/details/90108169

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,104评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,816评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,697评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,836评论 1 298
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,851评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,441评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,992评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,899评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,457评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,529评论 3 341
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,664评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,346评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,025评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,511评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,611评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,081评论 3 377
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,675评论 2 359

推荐阅读更多精彩内容