对于installTranslator和QEvent::LanguageChange动态加载语言,有个疑问,有了解机制的伙伴麻烦解答下!~
【代码】
void BaseWidget::LoadLanguage()
{
QString qmFile = "/test_CN.qm";
if(QFile(qmFile).exists())
{
QTranslator* translator=new QTranslator();
translator->load(qmFile);
qApp->installTranslator(translator);
}
}
void BaseWidget::changeEvent(QEvent *e)
{
switch(e->type())
{
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
【疑问】窗口初始化加载LoadLanguage()为中文,当切换英文的时候,通过ui->retranslateUi(this);重置切换英文,那么QT机制怎么获取英文的qm文件切换的呢?