懒得扯了,直接上正文

1.新建语言切换QT项目

我的项目是带动态ui的

2.在pro配置中英文切换的ts文件

TRANSLATIONS += lanague_cn.ts lanague_en.ts

3.布局,两种模式,一种是直接一个按钮切换,一个是使用单独按钮切换单独语言

4.记得第三步保存布局,然后打开QT自带的命令窗口

5.输入命令生成ts文件:(pro地址为你项目地址)

lupdate F:\QtApplition\ChineseEnglishSwitch\ChineseEnglishSwitch.pro

6.查看一下ts文件内容,可以直接把ts给拉到qt或者使用文件查看

此时的ts文件都是最原始的文件,它只有布局的文字显示

7.此时有两种方式去改变ts:

(1).直接修改ts文件,把<translation></translation>标签里面的空内容替换成你想替换的语音

(2).通过QT自带的软件去做:Linguist 5.12.2 (MinGW 7.3.0 64-bit)

先看第一种:把ts文件拽进QT,然后直接更改标签的内容:

注意这个窗口,因为程序导出ts默认是MainWindow,我直接改成中文的"窗口"

第二种方式:使用QT自带的软件修改:

导入ts文件:

打开的是这种的情况,然后点击挨个内容去修改你所需翻译的内容:

比如我需要修改测试为test:

先在英文框输入test,然后上面的两个问号点击确认,然后根据这种方式一一更改其内容,保存:

8.根据第七步修改完成的ts文件,我们继续使用第七步里面使用的QT软件生成所需切换语言的qm文件 ,我直接修改完两个ts文件,所以我这里直接发布全部,你们也可以一个一个操作

9.在项目导入我们所需使用的qm资源

 先创建一个资源qrc

导入文件:右键点击language.qrc添加现有文件

此时前期的准备工作就完成了,接下来我们使用代码来切换语言

10.我直接上代码吧,有什么不懂的可以评论或者找我私聊

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QTranslator>namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();void on_pushButton_3_clicked();private:Ui::MainWindow *ui;void Languageloading(bool type);QTranslator m_translator;
};#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QtDebug"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);Languageloading(false);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{Languageloading(true);
}void MainWindow::on_pushButton_2_clicked()
{Languageloading(false);
}void MainWindow::Languageloading(bool type)
{qDebug() << "type:" << type;switch (type){case true:m_translator.load(":/lanague_cn.qm");break;case false:m_translator.load(":/lanague_en.qm");break;default:break;}qApp->installTranslator(&m_translator);setWindowTitle(tr("窗口"));ui->label->setText(tr("测试"));ui->pushButton_2->setText(tr("英文"));ui->pushButton->setText(tr("中文"));ui->pushButton_3->setText(tr("切换"));
}bool bres = false;
void MainWindow::on_pushButton_3_clicked()
{bres = !bres;Languageloading(bres);
}

这里的重点在我设置setText(tr()),如果不做这个操作,语言切换会失效,注意的是,tr里面的内容是你ts文件里面的source标签里面的内容,必须一毛一样

11.切换效果

QT Creator 5.1.2中英文切换相关推荐

  1. QT语言家实现软件中英文切换

    环境:qtcreator 步骤: 首先是源代码中需要进行翻译转换的字符串内容要使用到tr函数包裹 工程文件.pro文件加上TRANSLATIONS += xx.ts 点击下图Qt语言家中的更新翻译,这 ...

  2. Qt实现中英文切换(国际化)

    前言 距离上一次发博客,已经又快一个月过去了,今天写一篇有关于Qt程序如何实现中英文切换的例子,之所以写这个,是因为这是最近项目的一个需求.Qt国际化,网上的例子,很多很多.... 看似很简单,但是真 ...

  3. QT 中英文切换-国际化(解决部分翻译不起作用的问题)

    中英文切换-国际化 1.先看效果 2.核心代码(重新赋值刷新翻译文本) 2.0 pro文件配置 2.1 构造函数 2.2 两个按钮点击事件 3.翻译文件的生成与配置 4. 参考链接 1.先看效果 2. ...

  4. Qt 之 中英文切换的使用

    Qt 之 中英文切换的使用 //写的不对的地方请指点 1  在代码中有tr("work") 有需要中英文切换的字符串  ui.cbxPapersType->addItem(t ...

  5. Qt Creator不同Qt版本切换

    一.问题描述 问题描述:许多时候电脑上可能同时安装同一个Qt版本的32位和64位,而QtCreator可能默认选择32的,但有时后我们需要切换到64位或者其他版本,本示例以Qt5.6+vs2013进行 ...

  6. QT in VS 多语言实现(中英文切换)

    最近项目需要软件具有中英文双语切换功能,而QT又自带此功能,现将实现方式记录下来. 说到中英文切换,少不了要了解QT的内部编码方式.在此就不详述QT编码方式了,具体可参考 彻底弄懂Qt的编码.只需要记 ...

  7. QT翻译(中英文切换

    QT翻译(中英文切换) 工具: Qt Linguist, 一般到Qt Creater的安装目录下的/gcc_64/bin下有一个可执行文件linguist, 双击打开即可 py => ts py ...

  8. Qt Quick实现国际化 中英文切换简明图文步骤

    目录 前言 一.步骤 1.在pro文件中添加需要生成的ts文件: 2.通过工具-外部-语言家-update 生成zh_CN.ts和en_US.ts 3.通过语言家打开生成的ts文件进行翻译 4.将zh ...

  9. 关于Qt 程序界面中英文切换总结

    关于Qt 程序界面中英文切换总结 Qt通过lupdate.exe和linguist.exe实现程序中英文切换 一种基于QtCreater直接使用Qt预言家(注意电脑有权限,可能翻译失败),另外一种用s ...

  10. Qt中英文切换(涉及多种场景)

    qt中英文切换涉及到一个软件两个文件,分别是QtLinguist..ts文件和.qm文件. 1.在Pro中添加 TRANSLATIONS += en.ts \ch.ts 添加这个文件后qmake,然后 ...

最新文章

  1. Dubbo中基于权重的随机算法
  2. 未设置服务器核心文件,[问题3] dhcpd.conf是DHCP服务器的配置的核心,每次启动DH..._考试资料网...
  3. 【原创】cs+html+js+css模式(五):页面调用JS的编写
  4. 百练OJ:4151:电影节
  5. 国行iphone第一次安装APP网络状况
  6. 北邮OJ 884. 16校赛-Average Modulo
  7. Boost:获取随机数的实例
  8. java手动切换成独立显卡_JAVA设计模式之调停者模式
  9. gravity 时序图绘制,改
  10. 开源文化依旧熠熠生辉 —— 在openEuler社区,有技术、有idea,你就是主角
  11. JZ7-斐波那契数列
  12. Linux一些最基本命令
  13. win7未能成功安装驱动服务器,ghost win7未能成功安装设备驱动程序怎么办解决方法...
  14. SURF(Speeded Up Robust Features)算法原理
  15. UVA 11134 - Fabled Rooks(经典贪心)
  16. 【面经分享】2022阿里Java后端实习面经,已上岸
  17. 护眼台灯多少瓦对眼睛好?护眼台灯功率的区别和用途
  18. 嵌入式系统导论(彭蔓蔓等·人民邮电出版社)课后习题答案
  19. 神经网络模型训练简记(二)
  20. CAM是指利用计算机进行辅助制造工作,CAM计算机辅助制造系统

热门文章

  1. BUUCTF Crypto [HDCTF2019]together wp
  2. Vue 做调查问卷简单实例
  3. 小米手机WIFI显示已连接,但无法访问互联网,新路由器其他设备都能连
  4. ASCII码表 256位
  5. Java中除数能否为0
  6. 解决Mysql计算时除数为0
  7. 使用无人机倾斜摄影测量技术采集某县城区地理信息数据并生成实景三维模型的案例
  8. java中赛场统分的情况
  9. ul阻燃标准有几个等级_塑料制品中的UL 阻燃等级防火等级划分标准
  10. #10098. 「一本通 3.6 例 1」分离的路径