论坛首页> 三共建设

Qt项目国际化动态切换注意事项

对于使用ui文件编写的用户界面一般在动态切换语言后不需要做特殊处理。而对于其他一些代码中使用tr包裹的字符串可能在语言动态切换之后无法更新显示,这时候需要在对应的位置添加一个LanguageChange事件的处理,在事件中重新调用tr即可。Qt在installTranslator或removeTranslator时都会触发该事件。


void MyWidget::changeEvent(QEvent *event) { if (event->type() == QEvent::LanguageChange) { titleLabel->setText(tr("Document Title")); ... okPushButton->setText(tr("&OK")); } else QWidget::changeEvent(event); }

全部回复

暂无更多回复内容