QTranslator *tor;
tor = new QTranslator();
bool success=tor->load("C:\\Users\\Administrator\\Documents\\untitled\\demotranslation_zh_CN1.qm");
qDebug()<<success;
qApp->installTranslator(tor);
QGuiApplication::setFont( QFont( QStringLiteral("新宋体"), 16 ));
//qApp->exit( EXIT_CODE_REBOOT );//调用exit(),退出应用程序。
ui->retranslateUi(this);
之前的方法;是重启程序实现多语言切换,
查看 了文档之后发现不需要重启程序一样可以做到切换而且,还是无缝切换。
那就是每个设计师类中都有一个
retranslateUi()的函数
每个ui文件都有,当注册了语音包后,调用一下ui类的这个函数就可以重新加载了。
如果你想切回英文的话直接调用
qApp->removeTranslator(tor);
将语言包删除掉就可以了