转自:https://blog.csdn.net/yl_best/article/details/83749861
操作系统环境: Win10(64位), Python 3.6(我现在电脑之前有安装2.7), PyQt5.11
1、 先装Python 3.6(我的电脑上装的是3.6.4),我将它装在了C:\Python路径下面。
安装好,将C:\Python和C:\Python\Scripts添加到系统路径下。本人打算以后都用Python3了,之前的Python2.7的就全部删除了。两个版本都要的,可以不用删,看个人需求。
2、 然后在cmd下输入指令
pip install PyQt5
也可以输入这个指令pip install PyQt5 -i https://pypi.douban.com/simple
https://pypi.douban.com/simple(后面是豆瓣的镜像地址,是为了加快下载速度)
安装完成画面
可以在这个文件夹“C:\Python\Lib\site-packages”下查看,有个PyQt5的文件夹3. 提示你更新pip,就按照提示更新(这步骤是可选的,看个人需求)
在cmd下输入python -m pip install --upgrade pip
4、 然后在cmd下输入指令
pip install PyQt5-tools
或者输入pip install PyQt5-tools -i https://pypi.douban.com/simple
https://pypi.douban.com/simple(后面是豆瓣的镜像地址,是为了加快下载速度。)
安装成功的画面:
可以在这个文件夹下查看,有个pyqt5_tools的文件夹C:\Python\Lib\site-packages
我的电脑原来装了Python2.7,PyQt5需要Python3版本,所以需要重新配置下。
先新建一个项目PyQt
菜单栏File -> Settings(或者按快捷键Ctrl+Alt+S)打开设置界面
Project:PyQt->Project Interpreter,点击这个按钮,
选择Add Local…
System Interpreter是我新安装的Python3版本的解释器,下面点击OK按钮即可
添加完就有两个Interpreter了,选择Python3.6即可
右击项目PyQt->New ->Python File->取名为“hello.py”
在“hello.py”中输入以下代码:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt5 import QtWidgets, QtCore
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
widget = QtWidgets.QWidget()
widget.resize(320, 240)
widget.setWindowTitle("Hello PyQt5")
widget.show()
程序执行画面:
更多PyQt基础教程请参考https://github.com/maicss/PyQt5-Chinese-tutoral/blob/master/SUMMARY.md
菜单栏File -> Settings(或者按快捷键Ctrl+Alt+S)打开设置界面
进入Tools->External Tools->点击加号(+)
Description: ui designer
Program:C:\Python\Lib\site-packages\pyqt5_tools\designer.exe
(在自己Python安装目录下找,这个是我的安装目录)
Argument:有两种选择
$FileDir$\$FileName$
(可以拷贝这个设定,或者点击按钮“Insert macro…” 选择合适的macros,后续使用QtDesigner会报错,先给各位提个醒$FileDir$
(可以拷贝我的设定,或者点击按钮“Insert macro…” 选择合适的macro)把Qt的UI文件转换成.py文件的工具
Description: convert .ui to .py
Program: C:\Python\Scripts\pyuic5.exe
(在自己Python安装目录下找一下)
Arguments:$FileName$ -o $FileNameWithoutExtension$.py
Working directory:$FileDir$
(可以拷贝我的设定,或者点击按钮“Insert macro…” 选择合适的macros)
(不愿意配置的朋友可以自己在cmd控制台下输入指令“C:\Python\Scripts\pyuic5.exe test.ui -o test.py
其中pyuic5.exe是要用到的执行文件,test.ui是用QtDesigner生成的.ui文件,-o是pyuic5.exe的参数,意思是生成目标文件,test.py是要生成的目标文件)
这个是将资源文件如图片等转成python代码能识别的文件,这个参数和pyuic5的基本是一样的,但是多个后缀_rc,与pyuic区别开来。
Description: convert resouces to .py
Program: C:\Python\Scripts\pyrcc5.exe
(在自己Python安装目录下找一下)
Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py
Working Dir: $FileDir$
(可以拷贝我的设定,或者点击按钮“Insert macro…” 选择合适的macros)
配置完成
1、 使用QtDesigner设计ui
2. 建立一个ui文件
Screen Size:默认是Default,大家随便选。我这边先选的320x240,是因为我想看看这个尺寸的运行效果。
3. 给UI添加一个Label控件,并将Label内容改为如下:“Hello PyQt Designer!”。注意:记得将Label控件调整合适大小,否则文字不能全部显示。4. 保存(Ctrl+s),改名为test.ui
保存完就会在project里面看到test.ui文件了,如下图:5. 将.ui文件转为.py文件
有两种方法:大家看个人爱好,自己选择。
方法一:先选中.ui文件。在菜单栏选择Tools->External Tools ->PyUIC
方法二:右键保存好的.ui文件,选择external tools->PyUIC生成代码
在PyCharm下方可以看到实际执行的就是这个指令
C:\Python\Scripts\pyuic5.exe test.ui -o test.py
详细解释可以参考“PyCharm+PyUic快捷菜单工具配置”。
(其中pyuic5.exe是要用到的执行文件, test.ui是用QtDesigner生成的.ui文件,“-o”是pyuic5.exe的参数,意思是生成目标文件,“test.py”是要生成的目标文件)
6、使用test.ui与test.py文件
在PyQt项目中新增一个HelloWorld.py,将如下内容贴进去
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication,QMainWindow
import test # module test.py
if __name__ == '__main__':
app = QApplication(sys.argv)
myMainWindow = QMainWindow()
myUi = test.Ui_MainWindow()
myUi.setupUi(myMainWindow)
myMainWindow.show()
sys.exit(app.exec_())
7、程序执行画面如下:
8、附加练习:大家可以试试更改标题栏实验。
方法一:用如下语句
myMainWindow.setWindowTitle(“PyQt Test”)
方法二:在Qt Designer中更改。
注意:更改完需要用PyUIC对.ui执行编译动作以重新生成.py文件
错误信息:如下图
An error has occurred while reading the UI file at line 1, column 1: Start tag expected.
解决办法:
这是因为我配置QtDesigner时给它传了参数,调用QtDesigner时找不到,所以会报错。
把参数去掉即可。
之前的配置:
Arguments:$FileDir$\$FileName$
(可以拷贝,或者点击按钮“Insert macro…” 选择合适的macros)
更新后配置: