qt实现国际化,但按下按键时没反应。 3C

使用qt实现多语言,生成了ts和qm文件,并将用语言家翻译好发布了。但是在用代码实现是没反应:
void MainWindow::on_translate_triggered()//
{

QTranslator translator;
translator.load(":/qm/language_cn.qm");
qApp->installTranslator(&translator);
qDebug()<<"13314441555";
}
问问大神,是不是写错了,还是少了什么?我在网上找了好多,但是没反应不知道怎么回事了!。求大神指点指点,小弟在此谢过各位大神了。

3个回答

看看Qt assistent 助手里面应有有这方面的提醒吧 或许要在Qt的工程文件中加东西

w_13141111
w_13141111 qt里的工程文件已经添加了
接近 3 年之前 回复

后面加上这句话 ui->retranslateUi(this); //这句必须带,在线实时切换

yinyuchen1
灏夏星辰 回复w_13141111: 你重新编译一下,没理由出错的,我是这样写的void MainWindow::on_pushButton_clicked() { if (translater.load(":/qm/chinese.qm")) { qApp->installTranslator(&translater); } ui->retranslateUi(this); //这句必须带,在线实时切换 }
接近 3 年之前 回复
w_13141111
w_13141111 加了后报错:无法将参数 1 从“MainWindow *const ”转换为“QMainWindow *”
接近 3 年之前 回复

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"));
}
完成!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐