1.下载安装

(1)Pycharm:下载链接

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

(2)推荐使用Qt Designer来设计界面,如果你装的是Anaconda的话,就已经自带了designer.exe,我这里使用的是Pycharm的虚拟环境,通过以下的方式安装:

(venv) G:\GitWorkspace\PycharmProjects\PythonStudy>pip install pyqt5
Collecting pyqt5
  Downloading https://files.pythonhosted.org/packages/b2/87/219cd547c0deb902edd3fdbf1af01409f7f9d251344b9154d878203cf841/PyQt5-5.12.1-5.12.2-cp35.cp36.cp37.cp38-none-win_amd64.whl (47.4MB)
    100% |████████████████████████████████| 47.4MB 40kB/s
Collecting PyQt5_sip<4.20,>=4.19.14 (from pyqt5)
  Downloading https://files.pythonhosted.org/packages/ee/03/a11da2a5dd75b0ccd795ddbd944c18ce663ffb08d59a1e7f1ee5a597488c/PyQt5_sip-4.19.15-cp36-none-win_amd64.whl (51kB)
    100% |████████████████████████████████| 61kB 35kB/s
Installing collected packages: PyQt5-sip, pyqt5
Successfully installed PyQt5-sip-4.19.15 pyqt5-5.12.1

(venv) G:\GitWorkspace\PycharmProjects\PythonStudy>pip install pyqt5-tools
Collecting pyqt5-tools
  Downloading https://files.pythonhosted.org/packages/21/ff/7578d6d124926ff6cd1ef13c8c095063ad4c3811f4506788a915607aee81/pyqt5_tools-5.11.3.1.4-cp37-none-win32.whl (47.9MB)
    100% |████████████████████████████████| 47.9MB 275kB/s
Collecting click (from pyqt5-tools)
  Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
    100% |████████████████████████████████| 81kB 836kB/s
Collecting pyqt5==5.11.3 (from pyqt5-tools)
  Downloading https://files.pythonhosted.org/packages/26/78/c215008e70982944272b6c329a76cc11259e7378a3e23418fbe0bd48de96/PyQt5-5.11.3-5.11.2-cp35.cp36.cp37.cp38-none-win32.whl (39.4MB)
    100% |████████████████████████████████| 39.4MB 206kB/s
Collecting python-dotenv (from pyqt5-tools)
  Downloading https://files.pythonhosted.org/packages/8c/14/501508b016e7b1ad0eb91bba581e66ad9bfc7c66fcacbb580eaf9bc38458/python_dotenv-0.10.1-py2.py3-none-any.whl
Requirement already satisfied: PyQt5_sip<4.20,>=4.19.11 in c:\mzhu_working1023\python-workspace\study\venv\lib\site-packages (from pyqt5==5.11.3->pyqt5-tools) (4.19.15)
Installing collected packages: click, pyqt5, python-dotenv, pyqt5-tools
  Found existing installation: PyQt5 5.12.1
    Uninstalling PyQt5-5.12.1:
      Successfully uninstalled PyQt5-5.12.1
Successfully installed click-7.0 pyqt5-5.11.3 pyqt5-tools-5.11.3.1.4 python-dotenv-0.10.1  

 

2.环境配置

在Pycharm中,点击File->Settings->Tools->External Tools点击+添加以下工具:

(1)qtdesinger

Pycharm+PyQt5+Python小项目实践 随笔 第1张

(2)pyuic5,这个是把qt的UI文件转换成.py文件的工具

Pycharm+PyQt5+Python小项目实践 随笔 第2张

(3)pyrcc, 这个是将资源文件如图片等转成python代码能识别的文件,这个参数基本和pyuic5的是一样的

Pycharm+PyQt5+Python小项目实践 随笔 第3张

这样就基本完成PYQT5在Pycharm环境中的配置:

Pycharm+PyQt5+Python小项目实践 随笔 第4张

 

3.测试

(这里拿一个OpenCV的小练习来测试一下------)

打开qtdesinger,新建一个窗体:

Pycharm+PyQt5+Python小项目实践 随笔 第5张

界面的左侧是Qt的常用控件”Widget Box”,右侧有一个控件属性窗口”Property Editor”,其余暂时用不到。本例中我们只用到了”Push Button”控件和”Label”控件:最上面的三个Label控件用于显示图片,可以在属性窗口调整它的大小,我们统一调整到150×150:

Pycharm+PyQt5+Python小项目实践 随笔 第6张

另外,控件上显示的文字”text”属性和控件的名字”objectName”属性需要修改,便于显示和代码调用:

Pycharm+PyQt5+Python小项目实践 随笔 第7张

点击Designer工具栏的”Edit Signals/Slots”按钮,进入槽函数编辑界面,点击旁边的”Edit Widgets”可以恢复正常视图:

 Pycharm+PyQt5+Python小项目实践 随笔 第8张

 然后点击按钮并拖动,当产生类似于电路中的接地符号时释放鼠标,在弹出的配置窗口中,可以看到左侧是按钮的常用事件,我们选择点击事件”clicked()”,然后添加一个名为”btnOpenCamera_Clicked()”的槽函数:

Pycharm+PyQt5+Python小项目实践 随笔 第9张

 重复上面的步骤,给五个按钮添加五个槽函数,最终结果如下:

Pycharm+PyQt5+Python小项目实践 随笔 第10张

到此,我们就完成了界面设计的所有工作,按下Ctrl+S保存当前窗口为.ui文件。.ui文件其实是按照XML格式标记的内容,可以用文本编辑器将.ui文件打开看看。

 

UI文件转py代码

因为我们是用Designer工具设计出的界面,并不是用Python代码敲出来的,所以要想真正运行,需要使用pyuic5将ui文件转成py文件。pyuic5.exe默认在%\Scripts\下,比如我的是在:G:\GitWorkspace\PycharmProjects\PythonStudy\venv\Scripts\

打开cmd命令行,切换到ui文件的保存目录。Windows下有个小技巧,可以在目录的地址栏输入cmd,一步切换到当前目录. 然后执行这条指令:

pyuic5 -o mainForm.py pyqt_create_ui.ui 

 Pycharm+PyQt5+Python小项目实践 随笔 第11张

执行正常的话,就会生成mainForm.py文件,里面应该包含一个名为”Ui_MainWindow”的类。

[注:mainForm.py文件是根据ui文件生成的,也就是说重新生成会覆盖掉。所以为了使界面与逻辑分离,我们需要新建一个逻辑文件。]

在同一工作目录下新建一个”mainEntry.py”的文件,存放逻辑代码。

 

待续~!!!

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄