在 UI 编辑器创建的按钮标题中使用 tr( )

Usage of tr( ) in Button Titles so on created by the UI Editor

我知道使用 tr( ) 可以将您的文本翻译成任何语言,例如使用 QTranslator Class

现在如何处理通过 UI 编辑器而不是代码创建的按钮标题、window 标题等。

我是否必须通过代码设置包含标题的每个元素的文本才能使其工作,因为显然我不能只在 UI 编辑器的标题字段中输入 tr( "Hello" ); .

例如:QPushButton.setText( tr( "Hello" ) );

或者可能有我不知道的技巧?

你只需输入 tr("Hello") 即可。

对于源代码中的文本项,您必须用 tr() 将其包装起来。如果 Qt Designer 选择了 translatable 属性(默认情况下必须如此),则 Qt Designer 会自动为所有文本字符串执行此操作。

lupdate 工具支持 C++ 源文件和 Qt Designer .ui 文件,因此它们将被处理。