pyuic5.exe,pyrcc5.exe工具位于python安装路径的Scripts 文件夹下
Qt Designer 在制作界面时会生成两类文件,一类是界面的.ui文件,一类是保存图片的.qrc文件,需要将他们转换为python可识别的.py文件。
- pyuic5.exe用于将.ui转为.py文件
- pyrcc5.exe用于将.qrc转为.py文件
通过以下步骤将 pyuic5.exe pyrcc5.exe 添加到pycharm的拓展工具中
$ProjectFileDir$\venv\Scripts\pyuic5.exe
$FileName$ -o $FileNameWithoutAllExtensions$_ui.py -x
$FileDir$
$ProjectFileDir$\venv\Scripts\pyrcc5.exe
$FileName$ -o $FileNameWithoutExtension$_rc.py
$FileDir$
D:\Softs\QtDesigner\designer.exe
$ProjectFileDir$
在添加后即可在.ui文件右键>external tools>ui_to_py进行.ui文件的转换,.qrc类型的文件同理。
.ui文件转换的.py文件结构为 Ui_Form 类,里面保存着页面的组件以及布局代码,为了使得界面代码和功能代码分离,这个文件作为界面代码由转换工具自动生成,不进行修改(后期如果界面进行修改会重新进行.ui文件的转换,如果在这个文件类添加功能代码的话,功能代码会被覆盖)
功能代码则另外创建一个.py文件,并继承于 Ui_Form 类,在 init()方法中调用 self.setupUi(self),即完成了对界面代码的引用,代码如下:
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from resource.login_ui import Ui_Form
class Window(QWidget, Ui_Form):
def __init__(self):
super().__init__()
self.setupUi(self)
# 功能代码这个文件内进行添加
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
执行该代码就可以运行制作好的界面,后续需要给界面添加功能代码都在这个类进行添加,从而实现了界面代码和功能代码的分离,方便项目的维护。