关于pyuic的使用方法

关于pyuic5,有时提供的是pyuic5.exe, 有时是pyuic5.bat,用法都一样。

重要的参数有2个,一个是o,一个是x(嗯,确实是有点那个)

pyuic $FileName$ -o ui_$FileNameWithoutExtension$.py -x

意思是,将 file.ui这个文件,生成一个名字为ui_file.py的文件,这个文件可直接执行(-x)的意思。

那么生成的直接可执行是什么意思呢,就是附加了这样一段代码:

if __name__ == "__main__":
    import sys
    from PyQt5.QtWidgets import QApplication
    
    app = QApplication(sys.argv)
    AddEditMovieDlg = QtWidgets.QDialog()
    ui = Ui_AddEditMovieDlg()
    ui.setupUi(AddEditMovieDlg)
    AddEditMovieDlg.show()
    sys.exit(app.exec())

这里有一个不同于往日的地方,就是在ui=之前,先生成一个QDiaglog的对象,然后赋予界面,再显示。

问题在于,前面生成的代码,有自己的逻辑:

class Ui_AddEditMovieDlg(object):
    def setupUi(self, AddEditMovieDlg):
        AddEditMovieDlg.setObjectName("AddEditMovieDlg")
        AddEditMovieDlg.resize(484, 334)

注意到,在setUi方法中,有一个参数就是是个QDialog,实际上说,这个类是继承于QDialog。

但是他为什么不直接继承QDialog,反而要继承object这个远祖呢?

理由不知道,但是pyuic确实是这个逻辑在进行的。





你可能感兴趣的:(PyQt5,python)