美文网首页python
pyqt5 把.ui文件转换成.py文件 及转换后的使用

pyqt5 把.ui文件转换成.py文件 及转换后的使用

作者: ThompsonHen | 来源:发表于2020-04-09 00:52 被阅读0次

    首先运行以下代码,它会把当前目录下所有的.ui文件转换成.py文件

    import os
    import os.path
    
    dir = './'  # 文件所在的路径
    
    
    # 找出路径下所有的.ui文件
    def listUiFile():
        list = []
        files = os.listdir(dir)
        for filename in files:
            # 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)
            os.system(cmd)
    
    
    if __name__ == "__main__":
        runMain()
    

    然后将ui装载进你的主程序

    image.png
    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'MyForm.ui'
    #
    # Created by: PyQt5 UI code generator 5.9.2
    #
    # WARNING! All changes made in this file will be lost!
    
    from PyQt5 import QtCore, QtGui, QtWidgets
    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName("Form")
            Form.resize(1492, 1097)
            #...以下省略数行    
            #...以下省略数行 
            #...以下省略数行 
    
    
    image.png
    
    import sys
    
    from PyQt5.QtWidgets import QApplication, QWidget
    
    from MyForm import Ui_Form
    
    
    def main():
    
        #创建QApplication类的实例
        app = QApplication(sys.argv)
        form = QWidget()
        window = Ui_Form()
        window.setupUi(form)
        form.show()
        sys.exit(app.exec_())
    if __name__ == '__main__':
    
        main()
    
    

    初学做的有点丑,请见谅


    image.png

    相关文章

      网友评论

        本文标题:pyqt5 把.ui文件转换成.py文件 及转换后的使用

        本文链接:https://www.haomeiwen.com/subject/mvwfmhtx.html