通过PyCharm开发Python GUI时,可以设置External Tools命令来配置外部命令,这样会简化界面开发工作
GUI辅助开发工具
- QtDesigner
PyQ他的GUI设计界面 - pyqt5
Python GUI库 - pyuic
用于将QtDesigner生成的.ui文件转换成.py文件 - pyrcc
用于将资源文件转成py文件,例如图片等
Mac配置
安装pyqt5
pip install pyqt5
安装Qt Designer
https://build-system.fman.io/qt-designer-download
QtDesigner配置
打开Qt Designer软件
配置:点击PyCharm-->Preferences-->Tools-->Externals Tools-->点击+
参数如下:
- Name:
Qt Designer
(可自定义) - Program:
/Applications/Qt Designer.app
(自己安装的Qt Designer的路径,主要是通过PyCharm快捷打开Qt Designer软件) - Working directory:
$ProjectFileDir$
(表示项目目录,可以点右侧的+选择宏)
配置完成,点击PyCharm-->Tools-->External Tools-->Qt Designer可打开Qt Designer软件
QtDesigner Current配置
利用Qt Designer软件打开当前选中的文件
配置:点击PyCharm-->Preferences-->Tools-->Externals Tools-->点击+
参数如下:
- Name:
Qt Designer Current
(可自定义) - Program:
/Applications/Qt Designer.app
(自己安装的Qt Designer的路径,主要是通过PyCharm快捷打开Qt Designer软件) - Arguments:
$FileName$
(表示当前右键选中的文件) - Working directory:
$FileDir$
(表示文件路径)
配置完成,点击PyCharm-->Tools-->External Tools-->Qt Designer可打开Qt Designer软件
pyuic配置
.ui文件转换为.py文件
PyCharm-->Preferences-->Tools-->Externals Tools-->点击+
参数如下:
- Name:
UI2PY
(可自定义) - Program:
/Library/Frameworks/Python.framework/Versions/3.8/bin/pyuic5
(pyuic5所在目录) - Arguments:
$FileName$ -o $FileNameWithoutExtension$.py
(主要把.ui文件转换为.py文件)
如果需要生成的py文件包含如下内容,Arguments应为$FileName$ -o $FileNameWithoutExtension$.py -x
if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) Form = QtWidgets.QWidget() ui = Ui_Form() ui.setupUi(Form) Form.show() sys.exit(app.exec_())
- Working directory:
$FileDir$
命令使用
pyuic5 source.ui -o destination.py
其中
-o 操作参数,表示要生成一个文件
destination.py 要生成的.py文件
source.ui通过QtDesigner设计的.ui文件
pyrcc配置
资源文件.qrc文件转换为.py文件
PyCharm-->Preferences-->Tools-->Externals Tools-->点击+
参数如下:
- Name:
RCC2PY
(可自定义) - Program:
/Library/Frameworks/Python.framework/Versions/3.8/bin/pyrcc5
(pyrcc5所在目录) - Arguments:
$FileName$ -o $FileNameWithoutAllExtensions$_rc.py
(主要把.ui文件转换为.py文件) - Working directory:
$FileDir$
命令使用
pyrcc5 source.qrc -o destination.py
其中
-o 操作参数,表示要生成一个文件
destination.py 要生成的.py文件
source.qrc通过QtDesigner设计的资源文件
Window配置
参考:https://blog.csdn.net/qingwufeiyang12346/article/details/79312821
UI批量转换
用于将同一文件夹下的所有.ui文件批量转换为.py文件
import os
dir = './'
def listUi2Py():
"""
批量转换
:return:
"""
list = []
files = os.listdir(dir)
for filename in files:
fileNamePrefix = os.path.splitext(filename)[0]
fileNameSuffix= os.path.splitext(filename)[1]
if fileNameSuffix == ".ui":
list.append(filename)
ui2py(fileNamePrefix + ".ui", fileNamePrefix + '.py')
print("已转换的文件:", list)
def ui2py(uifile, pyfile, isExe=False):
"""
单个UI文件转Py文件
:param uifile: UI文件
:param pyfile: PY文件
:param isExe: 是否需要包含可执行脚本
:return:
"""
cmd = "pyuic5 {uifile} -o {pyfile} {isExe}"\
.format(uifile=uifile, pyfile=pyfile, isExe=("-x" if isExe else ""))
os.system(cmd)
if __name__ == "__main__":
listUi2Py()