使用qt实现多语言,生成了ts和qm文件,并将用语言家翻译好发布了。但是在用代码实现是没反应:
void MainWindow::on_translate_triggered()//
{
QTranslator translator;
translator.load(":/qm/language_cn.qm");
qApp->installTranslator(&translator);
qDebug()<<"13314441555";
}
问问大神,是不是写错了,还是少了什么?我在网上找了好多,但是没反应不知道怎么回事了!。求大神指点指点,小弟在此谢过各位大神了。
后面加上这句话 ui->retranslateUi(this); //这句必须带,在线实时切换
看看Qt assistent 助手里面应有有这方面的提醒吧 或许要在Qt的工程文件中加东西
void MainWindow::on_translate_triggered()//翻译按键
{
//QTranslator translator; applicationDirPath
this->Multilingual(qApp->applicationDirPath()+"/linguist/Language_en.qm");
}
void MainWindow::Multilingual(QString Route)//翻译
{
QTranslator translator;
translator.load(Route);
qApp->installTranslator(&translator);
qDebug()<<"123456789";
windowUi();
}
void MainWindow::windowUi()
{
ui->BackOff->setToolTip(tr("Back Off"));
}
完成!