Python3 PyQt5 pycharm 环境搭建

作者: inke | 来源:发表于2017-03-11 19:30 被阅读26018次

简书的 markdown 没有目录,截图一张,让大家看的清楚,找到自己需要的东西。

  • 更新日志:
    • 2017年12月3日 增加 windows 配置
image.png

开发环境:

MAC OS 10.12.3 版本 (当前最新)
Pycharm 2016.3.2 版本 (当前最新)
Python 3.6.0 版本 (当前最新)
PyQt5 5.8.1 版本 (当前最新)
pyinstaller:将python代码打包为可执行的exe文件。

exe文件给Windows用,但是本章不安装,但是不排除后期更新文章,因为博主还没入门,还没考虑这么多!!!“囧”)

为什么写这篇博客?

尼玛是资料太少(几乎没有完整的),花了1整天时间来配置,不希望大家也浪费,时间是金钱买不来的

需要安装哪些东西呢?

  • sip
  • PyQt5
  • Qt
  • python

python不会安装的可以参考Python版本管理:pyenv和pyenv-virtualenv

Pycharm 安装自行百度,很简单,一路点击下一步

sip

意思是说:
在从源代码构建PyQt5之前,您必须已经构建并安装了SIP,就是说你必须要安装这个东西,那么这个东西是什么呢?

什么是sip?

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

与SWIG类似,使用sip也需要先编写一个『配置文件』,然后使用sip工具『编译』为C++源文件,最后,和Qt库一起编译形成适用于Python的PyQt。

与SWIG不同的是,sip同时以Python Module的形式存在,也就是说,作为Python Module的PyQt,依赖于作为Python Module的sip。而对于SWIG,一旦自动生成的C++生成完毕,整个流程就不再依赖SWIG了。

需要注意:

如果你安装了PyQt4和PyQt5,那么PyQt4和PyQt5无法共享sip。
就像 Python2 和 Python3 严格说不能共享pip 一样,因为有差异,解决方案就是给每个目录配置独立的Python环境(virtualenv),可以参考Python版本管理:pyenv和pyenv-virtualenv

安装sip

方式一:pip安装

使用支持的Python版本,你可以从PyPi安装SIP 通过运行:

pip3 install SIP

喜欢动手的可以试试下面的方式四,目前网上找到的教程都用自己编译的方式。
如果是mac可以用户使用方式三,也很简单,但是python 的环境就不容易隔离开了,不建议。


方式二:pycharm安装

考虑懒癌患者,可以使用pycharm




方式三:使用Homebrew
brew install sip

不知道brew 的自行百度哈。


方式四:手动编译安装

选择这种方式的都是大神。😁
当开始编译后,后面的步骤最好也是“手动编译”。

下载地址:
https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.1/sip-4.19.1.tar.gz
用于64位Linux,OS X和32位和64位Windows的Python v3.5及更高版本。

编译安装步骤

tar xvf sip-4.19.1.tar.gz
cd sip-4.19.1
python3.5 configure.py -d /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
make
sudo make install

手动编译参考:http://www.cnblogs.com/tkinter/p/5632231.html


安装PyQt5

方式一:pip安装

使用支持的Python版本,你可以从PyPi安装SIP 通过运行:

pip3 install PyQt5

喜欢动手的可以试试下面的方式四,目前网上找到的教程都用自己编译的方式,哈哈。
如果是mac可以用户使用方式三,也很简单,但是python 的环境就不容易隔离开了,不建议。


方式二:pycharm安装


方式三:使用Homebrew

brew install pyqt

方式四:手动编译安装

下载地址:
https://www.riverbankcomputing.com/software/pyqt/download5
https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.8.1/PyQt5_gpl-5.8.1.tar.gz
二进制包
提供用于64位Linux,OS X和32位和64位Windows的Python v3.5及更高版本。

手动编译参考:http://www.cnblogs.com/tkinter/p/5632231.html


注意:

到此为止其实已经可以开发了,但是我们想要更爽的开发,可以直接拖动控件,所以需要QtDesigner,QtDesigner是QT的一个模块。



安装Qt

安装很简单,一路下一步,不用配置什么,默认的配置即可,我们只是用Qt的QtDesigner可执行程序,最后不用启动,直接关闭就行。

方式一:本地安装

http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-mac-x64-clang-5.8.0.dmg
http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run
http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-windows-x86-msvc2015_64-5.8.0.exe

这是我安装后的路径,其实最后就是要QtDesigner


方式二:使用Homebrew

brew install qt

安装是命令行,不是可视化的点击下一步,我没有用这种方式。


注意:

到这里需要安装的都安装完成了,下面需要把所以安装的东西配置起来。


配置QtDesigner

可视化的拖控件写UI,一个字爽!

  1. 打开你的pycharm


windows的配置截图:


image.png

配置PyUIC

用于把QtDesigner创建的UI文件转换成py文件。



Paramters里面的内容:

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

配置完毕。

可以看到多了两个外部工具:



如何使用:

mac 做的gif 只能播放一次,不知道咋回事,只能苦逼的一张图片一张的截图了😢。

创建第一个pyqt项目:

打开我们的QtDesigner,我们就可以写布局了。


启动了Designer程序,我们就可以拖控件了。
我们创建窗口程序,选择Man Window,让后点击create

点击create后,会出现画布和控件

拖动一个文本写点内容:

保存布局文件。

选择保存路径

此时在项目下可以看到这个文件了。


但是这个文件python不能直接运行啊,咋办?
此时需要我们上面配置的另一个工具了PyUIC

选中文件右键,选择我们之前配置的PyUIC

这个命令行工具就会把UI文件转成py文件。


启动这个python文件,我们需要调用它:

编写 main.py:


代码如下:

import sys
import HelloWorld
from PyQt5.QtWidgets import QApplication, QMainWindow

if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = HelloWorld.Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

如何运行:


运行结果:


哦也,终于写出来第一个python的GUI程序!

花了一下午整理和写博客,不要吝啬你的赞、评论和 打赏 😜。

相关文章

网友评论

  • AlanChou_2685:博主你好,在你安装QT的时候Window平台一路next是不行的,需要安装MinGW组件,否则缺少designer,不过写的很详细,谢谢你啦
  • 玄学师leo:楼主,请问一下
    File "C:\ProgramData\Python3\lib\site-packages\PyQt5\uic\pyuic.py", line 26, in <module>
    from PyQt5 import QtCore
    ImportError: DLL load failed: 找不到指定的模块。
    这怎么治啊,我用的是Anaconda python3.dll是有的
    听见下雨丶声音:我也是这个问题 请问你解决了吗
  • 诸葛小愚:大赞,终于弄好了。
  • 别理我这个小可爱:在配置里面添加-x就可以直接生成可执行的py文件
    另外,如何让程序和ui文件相互配合使用,,即修改的py文件执行后,同时ui文件也发生变化。反之,ui文件变化,py文件也同时发生自动变化???
  • 649b6dabdf0f:你好,可以把PyUIC的配置贴出来看一下吗,windows 7 上运行的。具体看一下 parameter,非常感谢。
    inke:@碧海蓝天732 参数和 mac 是一样的。
  • 87b4c068470a:楼主你好,能不能出个如何将这个py程序转换为电脑上可以运行的.exe程序啊,谢谢😋
    inke:@胖胖的包子 谢谢大佬来捧场
    ba63635ca305:@何须畏 这个需要你安装pyinstaller。cmd命令行里pyinstaller -F 路径+你的py文件
  • 2e07917c964c:很不错哦,谢谢,你的文章,好人一生平安
  • 后羿_4b12:为什么我还是出错 ModuleNotFoundError: No module named 'PyQt5'
    玖零儛:新建Python项目的时候,Project Interpreter选择底下那个Existing interpreter,指定自己的python.exe;或者上面那个New environment using,勾上底下两个勾选框
  • 1ab723fbc4fc:谢谢大神,老子终于成功了,哈哈:relieved:
  • 2b8d5b701d64:棒棒的。新手很好
  • angellaugh:非常感谢,很详细,完美入门
  • 热血沸腾:我想做一个跨平台的桌面程序,搜了一下Qt是可以的。 那么你的教程支持么?我看只是PyCharm上支持了Qt 的Designer . 这样可以生产 Qt程序吗? 怎么生成,这块儿我没接触过,请叫一下。比如这个文章末尾,怎么打包生成可执行的EXE程序 ?
    热血沸腾:@inke 感谢. 因为本人对C++不是很熟悉,C++需要比较深厚的经验才能写出相对安全和优秀的代码。所以搜到这篇文章能够使用Python实现Qt 还是不想用C++了。
    inke:@热血沸腾 你可以使用 c++ 写 qt ,python 上的是 pyqt ,语法和 qt 类似,也是可以做桌面 exe 程序,打包的教程很多,百度一下即可,业余玩了 玩 python
  • c15678b6dc57:你好博主 你知道如何把py脚本转换成ui吗
    因为我有套代码是网上下的 可是下完发现里面没有ui的文件
    我想改其界面 请问怎么修改
    inke:@小孩子_7a12 这个不知道哈,估计就算转成也是有错误的。
  • 空瓶子_5b15:靠谱,照着做了一遍,成功
  • Clemente:感谢
  • 4a5f7e6bd286:写的这么详细,感动的要哭了
  • haohao_jqsh:看来您的文章,帮助很大。谢谢!
  • futrueface:你好,我的pycharm,最近老是提示“unable to save settings failed to save settings.please restart pycharm”,网上说是装了那个高亮插件,可是我没有装那个插件也是这个提示,知道啥情况吗?
    inke:@滒滒 重置pycharm 试试
  • 肥宅_Sean:楼主你好,想问下我装的QT5.9.1在文件目录中没有QTdesigner.exe,但平时用QTCreater的时候是可以的用Designer,楼主有遇到过类似的情况么?
  • futrueface:谢谢你的文章,帮了我的大忙!
  • haohao_jqsh:特别感谢!一天的时间来折腾PyQt开发环境,最后看了您文章,成功了:kissing_heart: 好开心!openSUSE各种需要权限,装PyQt5只能使用sudo(root权限),测试时PyCharm找不到PyQt5(需要添加环境变量吗?),没办法只好去Project Interpreter搜索并添加PyQt5,测试成功,谢谢!:+1:
  • ZnPbZheng:找到错误了,谢谢!
  • ZnPbZheng:求教大神,为什么我最后运行程序main.py时,pycharm显示Process finished with exit code 0,但没有窗口出现
  • 不倒翁的小情绪:楼主,为什么我到最后一步点击TOOLs里面的qt designer直接启动creator 了?
  • greedyhao:运行 PyUIC 时 Error while finding module specification for 'PyQt5.uic.pyuic' (ModuleNotFoundError: No module named 'PyQt5') 应该怎么解决,python 3.6.2,教程上说的包都装了
    greedyhao:@inke 很久没有登陆简书所以这么晚回复
    我之前是使用Anaconda3安装的pyqt5 只能在python终端import PyQt5.uic.pyuic
    后来卸载了Anaconda3 pip3 手动安装了PyQt5就正常了
    inke:提示很清楚了,缺少PyQt5的 model
    安装一下就行了
    pip3 install PyQt5
  • 9333a9ffe79f:最靠谱教程
  • 马_辉:真的对于我这种自学的菜鸟来说 这就是福利呀!!!!多谢多谢
  • 无敌小lengxin:看了一下午,最靠谱还是您哈哈哈。。。难怪怎么run都没反应
  • 窗外听雨声:写的非常好
  • 27f6313aef25:感谢!终于找到一个靠谱的安装教程了!太不容易了。浪费一整天了
  • Peter__007:写的真是太详细了!
    相比之下我写的太过简略。学习学习

本文标题:Python3 PyQt5 pycharm 环境搭建

本文链接:https://www.haomeiwen.com/subject/nfrzgttx.html