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 中做了啥的主要内容,如果未能解决你的问题,请参考以下文章

BuildContext 在 Flutter 中做了啥?

elementFormDefault 在 XSD 中做了啥?

InputStream.available() 在 Java 中做了啥?

=== 在 PHP 中做了啥

“()”在等级声明中做了啥

`someObject.new` 在 Java 中做了啥?