python - 为什么在 pyqt5 中我应该使用 pyuic5 而不是 uic.loadUi ("my.ui")?

标签 python pyqt pyqt5

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

最佳答案

这两种解决方案都很好,它们各有优缺点,必须根据你想做什么来权衡,很多时候这取决于程序员的品味。

pyuic5 :

  • 允许继承[+]

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

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

uic.loadUi() :

  • 修改 .ui [+]

    时无需修改任何内容
  • 编译加时[-]

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

  • 不允许使用 inspect [-]

关于python - 为什么在 pyqt5 中我应该使用 pyuic5 而不是 uic.loadUi ("my.ui")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52471705/

相关文章:

python - Pandas 计算数据框中不同的多列并按多列分组

python - 打开 places.sqlite 数据库 firefox 时出错

python - 在 QTreeWidget 中升高和降低 QTreeWidgetItem?

python - 带有 Qt 的菜单栏/系统托盘应用程序

python - 从 QLineEdit 读取文本作为 Qmenu 选项的子菜单

python - 使 QLabel 可点击

python - 如何在matplotlib中显示Y轴的网格线

python - 每当列表中有零时,创建一个新的前导字符子列表,不包括零

python - 从插槽 PyQt 更改背景颜色

python - pyqt - 无框架小部件出现奇怪的标题栏