通過(guò)PyCharm開(kāi)發(fā)Python GUI時(shí),可以設(shè)置External Tools命令來(lái)配置外部命令,這樣會(huì)簡(jiǎn)化界面開(kāi)發(fā)工作
GUI輔助開(kāi)發(fā)工具
- QtDesigner
PyQ他的GUI設(shè)計(jì)界面 - pyqt5
Python GUI庫(kù) - pyuic
用于將QtDesigner生成的.ui文件轉(zhuǎn)換成.py文件 - pyrcc
用于將資源文件轉(zhuǎn)成py文件,例如圖片等
Mac配置
安裝pyqt5
pip install pyqt5
安裝Qt Designer
https://build-system.fman.io/qt-designer-download
QtDesigner配置
打開(kāi)Qt Designer軟件
配置:點(diǎn)擊PyCharm-->Preferences-->Tools-->Externals Tools-->點(diǎn)擊+

參數(shù)如下:
- Name:
Qt Designer(可自定義) - Program:
/Applications/Qt Designer.app(自己安裝的Qt Designer的路徑,主要是通過(guò)PyCharm快捷打開(kāi)Qt Designer軟件) - Working directory:
$ProjectFileDir$(表示項(xiàng)目目錄,可以點(diǎn)右側(cè)的+選擇宏)
配置完成,點(diǎn)擊PyCharm-->Tools-->External Tools-->Qt Designer可打開(kāi)Qt Designer軟件
QtDesigner Current配置
利用Qt Designer軟件打開(kāi)當(dāng)前選中的文件
配置:點(diǎn)擊PyCharm-->Preferences-->Tools-->Externals Tools-->點(diǎn)擊+

參數(shù)如下:
- Name:
Qt Designer Current(可自定義) - Program:
/Applications/Qt Designer.app(自己安裝的Qt Designer的路徑,主要是通過(guò)PyCharm快捷打開(kāi)Qt Designer軟件) - Arguments:
$FileName$(表示當(dāng)前右鍵選中的文件) - Working directory:
$FileDir$(表示文件路徑)
配置完成,點(diǎn)擊PyCharm-->Tools-->External Tools-->Qt Designer可打開(kāi)Qt Designer軟件
pyuic配置
.ui文件轉(zhuǎn)換為.py文件
PyCharm-->Preferences-->Tools-->Externals Tools-->點(diǎn)擊+

參數(shù)如下:
- Name:
UI2PY(可自定義) - Program:
/Library/Frameworks/Python.framework/Versions/3.8/bin/pyuic5(pyuic5所在目錄) - Arguments:
$FileName$ -o $FileNameWithoutExtension$.py(主要把.ui文件轉(zhuǎn)換為.py文件)
如果需要生成的py文件包含如下內(nèi)容,Arguments應(yīng)為$FileName$ -o $FileNameWithoutExtension$.py -xif __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 操作參數(shù),表示要生成一個(gè)文件
destination.py 要生成的.py文件
source.ui通過(guò)QtDesigner設(shè)計(jì)的.ui文件
pyrcc配置
資源文件.qrc文件轉(zhuǎn)換為.py文件
PyCharm-->Preferences-->Tools-->Externals Tools-->點(diǎn)擊+

參數(shù)如下:
- Name:
RCC2PY(可自定義) - Program:
/Library/Frameworks/Python.framework/Versions/3.8/bin/pyrcc5(pyrcc5所在目錄) - Arguments:
$FileName$ -o $FileNameWithoutAllExtensions$_rc.py(主要把.ui文件轉(zhuǎn)換為.py文件) - Working directory:
$FileDir$
命令使用
pyrcc5 source.qrc -o destination.py
其中
-o 操作參數(shù),表示要生成一個(gè)文件
destination.py 要生成的.py文件
source.qrc通過(guò)QtDesigner設(shè)計(jì)的資源文件
Window配置
參考:https://blog.csdn.net/qingwufeiyang12346/article/details/79312821
UI批量轉(zhuǎn)換
用于將同一文件夾下的所有.ui文件批量轉(zhuǎn)換為.py文件
import os
dir = './'
def listUi2Py():
"""
批量轉(zhuǎn)換
: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("已轉(zhuǎn)換的文件:", list)
def ui2py(uifile, pyfile, isExe=False):
"""
單個(gè)UI文件轉(zhuǎn)Py文件
:param uifile: UI文件
:param pyfile: PY文件
:param isExe: 是否需要包含可執(zhí)行腳本
:return:
"""
cmd = "pyuic5 {uifile} -o {pyfile} {isExe}"\
.format(uifile=uifile, pyfile=pyfile, isExe=("-x" if isExe else ""))
os.system(cmd)
if __name__ == "__main__":
listUi2Py()