Pycharm+PyQt5环境搭建

pip安装依赖

pip install pyqt5 pyqt5-tools

Pycharm添加External Tools

打开Pycharm,点击File->Settings,点击下图所示位置,开始添加工具

添加QtDesigner(可视化设计工具)

点击开始添加工具,填写以下信息后点击OK

Name:

QtDesigner

Description:

QtDesigner

Program(这是我的安装位置,你需要替换为你电脑上对应的安装位置):

C:\Users\focksor\AppData\Local\Programs\Python\Python38\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe

Arguments:

$FileDir$\$FileName$

Working directory:

$FileDir$

image-20200619223721754

添加pyuic5(将ui文件编译为py文件的工具)

点击开始添加工具,填写以下信息后点击OK

Name:

Pyuic5

Description:

Pyuic5

Program(这是我的安装位置,你需要替换为你电脑上对应的安装位置):

C:\Users\focksor\AppData\Local\Programs\Python\Python38\Scripts\pyuic5.exe

Arguments:

$FileName$ -o $FileNameWithoutExtension$.py

Working directory:

$FileDir$

image-20200619224305982

添加pyrcc5(将资源文件编译为py文件的工具)

点击开始添加工具,填写以下信息后点击OK

Name:

Pyrcc5

Description:

Pyrcc5

Program(这是我的安装位置,你需要替换为你电脑上对应的安装位置):

C:\Users\focksor\AppData\Local\Programs\Python\Python38\Scripts\pyrcc5.exe

Arguments:

$FileName$ -o $FileNameWithoutExtension$.py

Working directory:

$FileDir$

添加完成后点击OK保存并退出

image-20200619224541761

使用QtDesigner创建ui文件

打开QtDesigner

image-20200619230255120

如果你遇到如下图示问题,请参考This application failed to start because no Qt platform plugin could be initialized以解决该问题

image-20200619231239409

designer

This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

创建新文件

image-20200620115253727

在布局设计中添加控件

将左侧的控件拖到设计内,即可完成控件添加,以Button为例:

image-20200620115552874

预览

按下预览快捷键Ctrl+R或者点击菜单栏的Form->Preview,即可开始预览你的设计。

image-20200620115745069

保存为ui文件

点击左上角的Save,或者按快捷键Ctrl+S,选择要保存的路劲和文件名,即可完成保存。

将ui文件转为py文件

在Pycharm中右键ui文件,选择External Tools->Pyuic5,即可生成py文件。生成的py文件与ui文件同名不同后缀。

注意:强烈不建议对生成的文件进行任何修改,因为再度使用ui文件生成py文件时所有更改都会丢失!!!

image-20200620120406164

创建布局文件子类

由于再度使用ui文件生成py文件时所有更改都会丢失,创建一个子类ui_design.py来添加我们对布局文件的修改。

from .mainui import Ui_MainWindow
from PyQt5.QtWidgets import QMainWindow, QDialog


class UiDesign(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        # 当按钮被按下的时候输出Button Pressed.
        self.pushButton.clicked.connect(lambda: print("Button Pressed."))

创建启动文件

创建启动文件starter.py并创建启动函数,然后运行该函数,即可启动该程序。

你也可以直接在布局文件子类中创建启动函数。

import sys
from UiDesign.ui_design import UiDesign
from PyQt5 import QtWidgets

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    ui = UiDesign()
    ui.show()
    sys.exit(app.exec_())

创建完成后,最终的文件结构如下所示。

│  starter.py
│
└─ UiDesign
        mainui.py
        mainui.ui
        ui_design.py
        __init__.py

程序中,点击按钮,可以看到打印了字符串,该设置是在子类中完成的。

image-20200620124851246

posted @ 2020-06-20 12:51  focksor  阅读(77)  评论(0编辑  收藏