当前位置: 代码迷 >> QT开发 >> Qt中英文切换解决方案
  详细解决方案

Qt中英文切换解决方案

热度:54   发布时间:2016-04-25 03:45:48.0
Qt中英文切换
void lcd_setting::on_bt_language_clicked()
{

    QTranslator translator;
    translator.load( "./language/zh_cn.qm");
    qApp->installTranslator(&translator);
    qDebug("hello world");
}
这是我写的实现中英文切换的按钮槽函数,信号已经连接好了,现在是点击那个按钮无法实现切换,编译是没有任何问题的,hello world也能打印出来,关键就是不能够显示中文,请问哪位大神能够帮助我呀,求帮助啊,比较的急切。
Qt 中英文切换

------解决方案--------------------
1.检查你的路径有没有错,可以先用绝对路径试一试

2.检查你需要翻译的语言有没有加tr

3.如果你翻译的内容是代码直接写的,比如label->setText(tr("Hello"));

那么在你切换语言之后应该再次label->setText(tr("Hello"));才能实现切换的效果。
------解决方案--------------------
installTranslator后需要重新调用你设置文本的地方
------解决方案--------------------
http://blog.csdn.net/csf111/article/details/7752839
------解决方案--------------------
引用:
1.路径没有错误,因为我在主函数里面直接调用是成功的。
2.我需要翻译的语言都加了tr的,所以没有这个问题
3.第3条我不太明白呢,不是翻译好的文件都在zh_cn.qm里面了吗 直接调用就行了呢,为什么还要重新来一次额。
4.我这个按钮式放在子界面上的呢,如果放在主程序里面就是能行的呢,放在子界面上好像就没办法成功。


第三条,如果你的文本是在ui文件上写的那不许要这一步,你可以根据3楼给的地址,用changeEvent即可。

放在主程序能行是因为你先切换了语言,再设置文本,效果肯定是可以的

而在子程序中你是先设置了文本,再切换语言。
  相关解决方案