关于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确实是这个逻辑在进行的。





### pyuic5 的使用方法 `pyuic5` 是 PyQt5 提供的一个命令行工具,用于将通过 `QtDesigner` 创建的 `.ui` 文件转换为 Python 代码文件。以下是关于其使用的详细介绍: #### 基本功能 `pyuic5` 将图形化界面设计工具(如 QtDesigner 中创建的 UI 文件)编译成可执行的 Python 脚本[^3]。 #### 使用语法 基本命令格式如下: ```bash pyuic5 [options] <input file> -o <output file> ``` 其中: - `<input file>` 表示由 QtDesigner 设计并保存的 `.ui` 文件路径。 - `-o <output file>` 指定生成的目标 Python 文件名。 #### 参数说明 常见的参数选项包括但不限于以下几种: - `-x`: 添加额外的初始化代码以便于调试。 - `-a <number>`: 设置缩进级别,默认为 4 个空格。 - `-d`: 输出解析树而不是生成代码,主要用于调试目的。 - `-m`: 插入模块加载语句以支持动态加载资源文件。 #### 实际操作案例 假设有一个名为 `untitled.ui` 的文件位于当前工作目录下,则可以运行以下命令将其转化为对应的 Python 文件 `untitled_ui.py`: ```bash pyuic5 untitled.ui -o untitled_ui.py ``` 如果希望增加自定义初始化部分以及调整缩进风格,那么完整的调用可能看起来像这样: ```bash pyuic5 -x -a 2 untitled.ui -o untitled_ui.py ``` #### 配合其他组件开发应用实例 当完成上述转化过程之后,在实际项目里可以通过下面的方式引入所生成的类来构建窗口程序框架: ```python from PyQt5.QtWidgets import QApplication, QMainWindow import sys from untitled_ui import Ui_MainWindow # 这里的 'untitled_ui' 应该替换为你自己的 ui 转换后的 python 文件名称去掉 .py 后缀 class MyMainWindow(QMainWindow, Ui_MainWindow): def __init__(self): super().__init__() self.setupUi(self) if __name__ == "__main__": app = QApplication(sys.argv) window = MyMainWindow() window.show() sys.exit(app.exec_()) ``` 以上展示了如何利用 `pyuic5` 把 GUI 定义从 XML 格式的 `.ui` 文件转码至易于维护修改的纯 Python 形式,并进一步集成到应用程序中的全过程[^4]。 ### 注意事项 确保已正确安装 PyQt5 及相关工具链,并且确认环境变量 PATH 已经包含了这些二进制工具的位置,这样才能顺利执行命令行指令[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值