当前位置:   article > 正文

Qt 语言家实现中英文切换_qt如何通过combo box切换中英文

qt如何通过combo box切换中英文
  • 生成ts文件

      在QT的项目文件(.pro)中加入:TRANSLATIONS = XXX.ts YYY.ts(假设是多行,则用 \ 切割)

  1. TRANSLATIONS = CN.ts\
  2. EN.ts

工具---外部---Qt语言家--更新翻译,可以获取CN.ts和EN.ts

  • 生产qm文件

用Qt Lingust打开EN.ts,将中文翻译成中文

然后  工具---外部---Qt语言家--发布翻译,可以获取CN.qm和EN.qm

  • 代码加载qm文件

头文件:

  1. QTranslator * translator;
  2. void changeEvent(QEvent* e);//解决下俩列表中不更新语言的问题

 

cpp文件:

  1. 构造函数中加载,这样刚启动的版本加载EN.qm,显示为英文版
  2. translator = new QTranslator(this);
  3. translator->load("EN.qm"); //加载语言包
  4. qApp->installTranslator(translator); //安装翻译器
  5. void MainWindow::changeEvent(QEvent *e)
  6. {
  7. if(e->type() == QEvent::LanguageChange)
  8. {
  9. //刷新UI
  10. this->ui->retranslateUi(this);
  11. if(!isCH)
  12. {
  13. this->ui->comboBox->setCurrentIndex(1);
  14. }
  15. }
  16. }
  17. void MainWindow::on_radioButton_clicked()
  18. {
  19. if(translator != NULL)
  20. {
  21. qApp->removeTranslator(translator);
  22. delete translator;
  23. translator = NULL;
  24. }
  25. translator = new QTranslator;
  26. if(translator->load("CN.qm"))
  27. {
  28. qApp->installTranslator(translator);
  29. }
  30. ui->retranslateUi(this);//刷新界面字符
  31. }
  32. void MainWindow::on_radioButton_2_clicked()
  33. {
  34. if(translator != NULL)
  35. {
  36. qApp->removeTranslator(translator);
  37. delete translator;
  38. translator = NULL;
  39. }
  40. translator = new QTranslator;
  41. if(translator->load("EN.qm"))
  42. {
  43. qApp->installTranslator(translator);
  44. }
  45. ui->retranslateUi(this);//刷新界面字符
  46. }
  47. void MainWindow::on_comboBox_activated(int index)
  48. {
  49. if(index == 1)
  50. {
  51. translator->load("EN.qm");
  52. qApp->installTranslator(translator);
  53. ui->retranslateUi(this);//刷新界面字符
  54. isCH = false;
  55. }
  56. else
  57. {
  58. translator->load("CN.qm");
  59. qApp->installTranslator(translator);
  60. ui->retranslateUi(this);//刷新界面字符
  61. isCH = true;
  62. }
  63. }

效果图

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/104556
推荐阅读
相关标签
  

闽ICP备14008679号