Pycharm+PyQt5环境配置

  • 1. 安装pycharm、python3和pyqt5
  • 2. 配置QT Designer
  • 3. 配置编译路径pyuic
  • 4. 测试


1. 安装pycharm、python3和pyqt5

 python下载链接:https://www.python.org/ (建议选择3.7以上的版本)

 pycharm下载链接:https://www.jetbrains.com/pycharm/download/#section=windows  选择社区版本安装

 安装完成后打开pycharm,新建项目,选择虚拟环境,其中编译器选择你安装的python的路径的python.exe文件。点击File->new project,如图所示 :

pyqt5 python3版本支持 pyqt5 pycharm_控件


 配置完成后,点击File->setting,选择project->python interpreter,如图:

pyqt5 python3版本支持 pyqt5 pycharm_pyqt5 python3版本支持_02


 点击左下方的+号,依次输入pyqt5,pyqt5-tools,pyqt5-sip,pyinstaller,点击install package进行安装,如果安装失败,可以进入该项目文件的venv文件下的Scripts文件路径下使用pip进行安装:

 如cmd进入命令提示符窗口

cd path(你的项目下的scripts文件夹路径)
pip install pyqt5,pyqt5-tools,pyqt5-sip,pyinstaller

 如图:

pyqt5 python3版本支持 pyqt5 pycharm_QT_03


 安装完成之后,就可以使用pyqt5库进行页面开发了。需要注意的是,如果想在pycharm中方便的进行ui设计以及将ui编译成.py文件,需要做进一步的设置。这里涉及到配置QT Designer和pyuic,前者是进行页面设置的工具,后者是用来将ui文件编译成.py文件的工具。以下分别讲述如何将两者加入到pycharm环境中方便运行。

2. 配置QT Designer

 在pycharm页面中点击File->settings->tools->external tools,选择页面右方的+号,如图:

pyqt5 python3版本支持 pyqt5 pycharm_QT_04

 Name设置为QT Designer,program为designer.exe的路径,需要注意,高版本的pyqt5的路径可能在不同的地方,建议到你的项目环境中进行搜索寻找designer.exe的路径。我的program路径在:
G:\UDP\venv\Lib\site-packages\qt5_applications\Qt\bin\designer.exe中。将working directory设置为:$FileDir$ , 点击OK

3. 配置编译路径pyuic

 同理,在该页面下新建+号,如下图所示:

pyqt5 python3版本支持 pyqt5 pycharm_python_05


 Program设置为:

G:\UDP\venv\Scripts\pyuic5.exe

 你的也有可能在其他路径下,Aruguments设置为:

$FileName$ -o $FileNameWithoutExtension$.py

 working directory设置为:

$FileDir$

 至此,环境配置完毕,下面设置一个简单的页面进行测试。

4. 测试

 新建项目,创建一个ui文件,如图:

pyqt5 python3版本支持 pyqt5 pycharm_控件_06

 在弹出来的页面中选择Dialog without buttons,如图

pyqt5 python3版本支持 pyqt5 pycharm_QT_07

 可以自由拖动左侧的窗口的控件,选择你需要的控件,如图:

 保存(crtl+s)后重命名:如图:

pyqt5 python3版本支持 pyqt5 pycharm_python_08

 在pycharm页面中出现.ui文件,选择如图pyuic进行编译:

pyqt5 python3版本支持 pyqt5 pycharm_QT_09

 编译后出现同名.py文件,这就是你的页面文件。在main.py文件中编写下列代码运行即可测试,注意pyqt可以很好的实现页面和逻辑分离的编写,所以也可以在main.py文件中实现逻辑代码编写,这里不予展示。测试代码如下:

from PyQt5.QtWidgets import *
from test import Ui_Dialog

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