您好我有一个Qt应用程序,并且有几个插件附加到该应用程序。
我想在运行时更改程序的语言,但我不知道该怎么做。
我知道我可以通过调用此代码来实现:
ui.retranslateUi(this);
但由于这些插件上有许多插件和许多小部件,因此成员ui在小部件中是私有的,因此很难编写此代码。 我不想为每个小部件类编写代码。
您知道加载新翻译文件的更好方法吗?
答案 0 :(得分:2)
QTranslator
只有{{1}}生效的{{1}}个实例和remove个具有所需语言的新实例。 Qt会自动将LocaleChange事件发送到您应用中的所有视图,甚至是插件中的视图。无需手动发送这些事件。
答案 1 :(得分:1)
您可以将QEvent::LocaleChange
发送给插件,但他们需要对此做出反应。