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$
添加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$
添加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保存并退出
使用QtDesigner创建ui文件
打开QtDesigner
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
程序中,点击按钮,可以看到打印了字符串,该设置是在子类中完成的。