繁体   English   中英

retranslateUi()清除QLabel文本

[英]retranslateUi() clears QLabel text

我的基于qt4的应用程序通过调用retranslateUi()函数动态地更改GUI语言。 它就像一个魅力,但当它处理QLabel时,程序会更改文本,它会尝试翻译原始文本 - 在Qt Designer中指定的文本,而不是由我的程序设置的文本。

据我所知,因为在构建过程中会自动生成retranslateUi()所以它不可能知道我的更改,但我更愿意完全跳过这样的QLabel 有没有办法告诉Qt在retranslateUi()跳过某些小部件? 或者,也许我可以在我的程序中禁用QLabel内容更改?

我知道我可以将QLabel子类化并通过重写setText()解决这个问题,但我更喜欢使用标准的QLabel来使用Qt Designer来操作它。

我记得,在Designer中你可以取消QLabel的翻译。 默认情况下是。 选择您不想翻译的标签,在属性编辑器中滚动到“文本”属性,展开它并取消选中翻译复选框。 然后你应该再次生成ui _ * .h文件。 之后,您的标签不应该是retranslateUi代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM