首页 > 解决方案 > 为什么在 pyqt5 中我应该使用 pyuic5 而不是 uic.loadUi("my.ui")?

问题描述

我一直在尝试使用QT5Python,使用pyqt5. 我注意到大多数教程建议使用pyuic5将 XML UI 转换为 Python 代码。我还看过一些教程,他们使用uic.loadUi("myui.ui")动态加载XML UI. 对我来说,这似乎是一个更清洁、更模块化的解决方案,但它似乎是一个不受欢迎的选择。是否有理由将您的代码转换pyuic5为更合理的解决方案?

标签: pythonpyqtpyqt5

解决方案


两种解决方案都很好,它们的优点和缺点必须与您想要做的事情进行权衡,而且很多时候这取决于程序员的品味。

pyuic5

  • 允许继承[+]

  • 运行应用程序时没有额外的负载[+]

  • 每次修改文件时将 .ui 转换为 .py [-]

uic.loadUi()

  • 修改 .ui 时无需修改任何内容[+]

  • 编译加时[+]

  • 不允许继承(您可以使用 实现继承uic.loadUiType()[-]

  • 不允许使用检查 [-]


推荐阅读