中英文切换-国际化

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

1.先看效果

2.核心代码(重新赋值刷新翻译文本)

2.0 pro文件配置

TRANSLATIONS = \qt_cn.ts \  # 中文qt_en.ts    # 英文

2.1 构造函数

 qtr = new QTranslator;  // .h中的变量 这里初始化分配内存ui->comboBox->setEditable(true);                         // 不使能无法设置 且程序会异常结束ui->comboBox->lineEdit()->setAlignment(Qt::AlignCenter); // 居中ui->comboBox->lineEdit()->setReadOnly(true);             // 只读 不可编辑ui->comboBox->addItem(tr("I am a comboBox")); // combobox文本ui->lineEdit->setText(tr("I am a lineEdit")); // lineEdit文本// 下拉框 第一行居中static_cast<QStandardItemModel*>(ui->comboBox->view()->model())->item(0,0)->setTextAlignment(Qt::AlignCenter);

2.2 两个按钮点击事件

void MainWindow::on_pushButton_clicked()
{if(this->qtr->load(qApp->applicationDirPath()+"/qt_cn.qm")){qApp->installTranslator(qtr);ui->retranslateUi(this);qDebug()<< QStringLiteral("切换中文");// 加载完翻译文件后 这里需要重新赋值 刷新文本信息ui->lineEdit->setText(tr("I am a lineEdit"));ui->comboBox->removeItem(ui->comboBox->currentIndex());ui->comboBox->addItem(tr("I am a comboBox"));}}void MainWindow::on_pushButton_2_clicked()
{if(this->qtr->load(qApp->applicationDirPath()+"/qt_en.qm")){qApp->installTranslator(qtr);ui->retranslateUi(this);qDebug()<< QStringLiteral("切换英文");// 加载完翻译文件后 这里需要重新赋值 刷新文本信息ui->lineEdit->setText(tr("I am a lineEdit"));ui->comboBox->removeItem(ui->comboBox->currentIndex());ui->comboBox->addItem(tr("I am a comboBox"));}}

3.翻译文件的生成与配置

  1. 写好代码后( tr(需要翻译的文本)-ui界面的文本默认可翻译 )
  2. 点击工具栏 - 外部 - qt语言家 - 更新翻译 生成ts文件
  3. 使用Linguist打开生成的ts文件,一行行翻译 or 直接修改ts文件亦可
  4. 使用Linguist:文件 - 发布 或者 Creator:工具栏 - 外部 - qt语言家 - 更新翻译 生成qm文件,程序中加载相应qm文件即可

4. 参考链接

  • https://blog.csdn.net/qq_41927737/article/details/106746595 —QT国际化发现的问题
  • https://blog.csdn.net/dutchlight/article/details/108346832 —qt部分字符串无法翻译原因记录
  • http://blog.chinaunix.net/uid-20676637-id-86140.html —QT学习笔记(二): QT国际化, 运行时改变界面语言, 利用QT实现国际化应用程序
  • https://blog.csdn.net/li1123576747/article/details/109386897 —Qt国际化之tr()在自定义类中翻译无效的问题

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

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

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

  2. SpringBoot中英文切换/国际化——java后端怎么用预置文本的内容替换web网页内容(Resource Bundle)

    文章目录 创建预置文件文本内容 Thymeleaf修改前端使其获得预置文本内容 html页面设置跳转标签和传值 创建一个MyLocaleResolver配置文件 在MvcConfiguration中注 ...

  3. ubuntu下搜狗输入法的乱码或者中英文切换异常解决办法

    在shell中执行以下命令 初步删除 ~/.config/SogouPY 如果还有出现则继续删除  ~/.config/SogouPY.users, sogou-qimpanel 这两个文件夹

  4. Qt Qml实现国际化

    Qt Qml实现国际化 标记需要翻译成内容 qml 中翻译的字符串需要用 qsTr() / qsTranslate() 包裹起来. text: qsTr("text11111") ...

  5. Origin | origin 2021b 学生免费版 | 中英文切换

    origin | 续期 | 中英文切换 一.如何再次续期 二.中英文切换 在 Origin: 软件申请+续期指引中笔者讲了如何在origin官网申请免费学生版软件并激活使用,申请期限为半年. 本篇文章 ...

  6. 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. designer打开报错 qt_无法启动 Maya 集成的 qt designer 的解决方法和原因 以及 中英文切换...

    无法启动 Maya 集成的 qt designer 的解决方法和原因 以及 中英文切换 前言: Maya 集成了 PySide,同时集成了qt designer,在 Maya 的安装目录下的 bin ...

最新文章

  1. java jackson json_java – 使用Jackson从JSON获取单个字段
  2. 设置eclipse中的字体大小
  3. [转]VC6 STLport-5.1.4 编译 安装
  4. cocos2d 屏幕適配_cocos2dx 3.2 屏幕适配的理解
  5. java ffmpeg swf_flash – ffmpeg:将仅音频flv转换为swf
  6. excel替换快捷键_18个Ctrl系列快捷键,简单易上手,且实用
  7. c语言vt码的用法,你可以使用vt100转义码c ++的十六进制颜色值
  8. 9/28shell合集
  9. 安装oracle客户端此先决条件,xp系统下oracle 11g客户端安装先决条件检查全部失败...
  10. 怎么把SEO和SEM配合起来
  11. 问题 F: 解救小哈
  12. 通过GPU服务器运行Carla
  13. 申请ios开发者证书到获取p12文件及profiles文件
  14. SAP ERP 与 Oracle ERP 比较
  15. UCOSIII软件定时器
  16. C++prime读书笔记(二)C++标准库:IO、容器、泛型算法、动态内存
  17. c语言渐变算法,C绘制渐变矩形代码.doc
  18. 【OpenCV4】图像的傅里叶变换 cv::dft() 和逆变换 cv::idft() 解析(c++)
  19. Python 进阶(六): Excel 基本操作
  20. mysql n8_mysql几种引擎和使用场景

热门文章

  1. Flask Docker Hello Word
  2. go每日新闻(2021-12-01)——Go 1.18新特性前瞻:原生支持Fuzzing测试
  3. 爬虫--可视化项目(一)
  4. MIXLY二次开发(傻瓜版)
  5. Android的增量更新
  6. selenium打开浏览器后闪退解决
  7. 架构探险-轻量级微服务架构_第3部分-单活动架构+一些时髦的Dagger
  8. 计算机系统的组成一般不包括,计算机系统的基本组成,一般应包括哪些
  9. Udesk全场景客服系统FAQ分享(202010期)
  10. 送你一个励志故事—掌握这些你也可能拿到腾讯offer