pip安装依赖
pip install pyqt5 pyqt5-tools
Pycharm添加External Tools
打开Pycharm,点击File
->Settings
,点击下图所示位置,开始添加工具
添加QtDesigner(可视化设计工具)
点击开始添加工具,填写以下信息后点击OK
:
Name:
QtDesigner
Description:
QtDesigner
Program(这是我的安装位置,你需要替换为你电脑上对应的安装位置):
C:UsersfocksorAppDataLocalProgramsPythonPython38Libsite-packagespyqt5_toolsQtindesigner.exe
Arguments:
$FileDir$$FileName$
Working directory:
$FileDir$
添加pyuic5(将ui文件编译为py文件的工具)
点击开始添加工具,填写以下信息后点击OK
:
Name:
Pyuic5
Description:
Pyuic5
Program(这是我的安装位置,你需要替换为你电脑上对应的安装位置):
C:UsersfocksorAppDataLocalProgramsPythonPython38Scriptspyuic5.exe
Arguments:
$FileName$ -o $FileNameWithoutExtension$.py
Working directory:
$FileDir$
添加pyrcc5(将资源文件编译为py文件的工具)
点击开始添加工具,填写以下信息后点击OK
:
Name:
Pyrcc5
Description:
Pyrcc5
Program(这是我的安装位置,你需要替换为你电脑上对应的安装位置):
C:UsersfocksorAppDataLocalProgramsPythonPython38Scriptspyrcc5.exe
Arguments:
$FileName$ -o $FileNameWithoutExtension$.py
Working directory:
$FileDir$
添加完成后点击OK保存并退出
使用QtDesigner创建ui文件
打开QtDesigner
如果你遇到如下图示问题,请参考This application failed to start because no Qt platform plugin could be initialized以解决该问题
designer
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
创建新文件
在布局设计中添加控件
将左侧的控件拖到设计内,即可完成控件添加,以Button为例:
预览
按下预览快捷键Ctrl+R
或者点击菜单栏的Form
->Preview
,即可开始预览你的设计。
保存为ui文件
点击左上角的Save
,或者按快捷键Ctrl+S
,选择要保存的路劲和文件名,即可完成保存。
将ui文件转为py文件
在Pycharm中右键ui文件,选择External Tools
->Pyuic5
,即可生成py文件。生成的py文件与ui文件同名不同后缀。
注意:强烈不建议对生成的文件进行任何修改,因为再度使用ui文件生成py文件时所有更改都会丢失!!!
创建布局文件子类
由于再度使用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
程序中,点击按钮,可以看到打印了字符串,该设置是在子类中完成的。