目录
可视化GUI设计工具,帮助快速开发,是专门用来制作PyQt5程序中UI界面的工具,它生成的UI界面是一个后缀.ui的文件,可以通过命令键.ui文件转换成.py文件,并被其他Python文件引用
符合NVC(模型——视图——控制器)设计模式,显示和业务逻辑的分离
文件位置:
扫描二维码关注公众号,回复:
13414619 查看本文章
1.新建主窗口
选择“主窗口”,保存为firstMainWin.ui
2.窗口主要区域介绍
3.将.UI文件转换为.py文件
①通过命令行把.ui文件转化为.py文件
pyuic5 -o XXX.py XXX.ui
②通过Python脚本将.ui文件转化为.py文件
# -*- coding: utf-8 -*-
'''
【简介】
ui转换成py的转换工具,比较适用多个.ui文件的转换
'''
import os
import os.path
# UI文件所在的路径
dir = './'
# 列出目录下的所有ui文件
def listUiFile():
list = []
files = os.listdir(dir)
for filename in files:
#print( dir + os.sep + f )
#print(filename)
if os.path.splitext(filename)[1] == '.ui':
list.append(filename)
return list
# 把后缀为ui的文件改成后缀为py的文件名
def transPyFile(filename):
return os.path.splitext(filename)[0] + '.py'
# 调用系统命令把ui转换成py
def runMain():
list = listUiFile()
for uifile in list :
pyfile = transPyFile(uifile)
cmd = 'pyuic5 -o {pyfile} {uifile}'.format(pyfile=pyfile,uifile=uifile)
#print(cmd)
os.system(cmd)
###### 程序的主入口
if __name__ == "__main__":
runMain()
4.界面与逻辑的分离
界面文件:由.ui文件编译而来的.py文件(界面文件每次编译时都会初始化)
逻辑文件(业务文件):用来调用界面文件的.py文件
只需要另外将一个.py文件,并继承界面文件的主窗口类即可(这里新建一个CallFirstWin.py文件)
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication , QMainWindow
from firstMainWin import *
class MyMainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MyMainWindow, self).__init__(parent)
self.setupUi(self)
if __name__=="__main__":
app = QApplication(sys.argv)
myWin = MyMainWindow()
myWin.show()
sys.exit(app.exec_())
运行后的结果是这样的:
在分析这段代码之前,我们需要好好回顾一下Python的继承 (笔记就添在下面了)后边会详细记录