retranslateUi 在 PyQT 中做了啥
Posted
技术标签:
【中文标题】retranslateUi 在 PyQT 中做了啥【英文标题】:What does retranslateUi do in PyQTretranslateUi 在 PyQT 中做了什么 【发布时间】:2021-02-25 02:34:57 【问题描述】:当运行 pyuic5 命令并从 QT 设计器 UI 文件生成 python 文件时,有一个 retranslateUi
函数。
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
此功能是否支持多语言,如果我对多语言不感兴趣,是否可以安全删除此功能?
我在循环中添加 GUI 小部件,因此在我的代码中实现此功能会很麻烦。
【问题讨论】:
不,你不能安全地删除它,因为它总是会被setupUi
调用——即使没有可翻译的字符串。而且,更一般地说,没有任何好的理由来编辑 pyuic 生成的模块。相反,您应该导入它包含的 gui 类,并按照here 所示的第二个和第三个示例所建议的方式使用它。另请注意,即使您不想要多语言支持,仍然需要retranslateUi
来设置所有用户可见的字符串。
【参考方案1】:
这个函数是为了实现多语言支持逻辑(见1和2)。
您可以毫无问题地删除它。
【讨论】:
以上是关于retranslateUi 在 PyQT 中做了啥的主要内容,如果未能解决你的问题,请参考以下文章
elementFormDefault 在 XSD 中做了啥?