QT 中英文切换-国际化(解决部分翻译不起作用的问题)
中英文切换-国际化
- 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.翻译文件的生成与配置
- 写好代码后( tr(需要翻译的文本)-ui界面的文本默认可翻译 )
- 点击工具栏 - 外部 - qt语言家 - 更新翻译 生成ts文件
- 使用Linguist打开生成的ts文件,一行行翻译 or 直接修改ts文件亦可
- 使用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 中英文切换-国际化(解决部分翻译不起作用的问题)相关推荐
- Qt中英文切换(涉及多种场景)
qt中英文切换涉及到一个软件两个文件,分别是QtLinguist..ts文件和.qm文件. 1.在Pro中添加 TRANSLATIONS += en.ts \ch.ts 添加这个文件后qmake,然后 ...
- SpringBoot中英文切换/国际化——java后端怎么用预置文本的内容替换web网页内容(Resource Bundle)
文章目录 创建预置文件文本内容 Thymeleaf修改前端使其获得预置文本内容 html页面设置跳转标签和传值 创建一个MyLocaleResolver配置文件 在MvcConfiguration中注 ...
- ubuntu下搜狗输入法的乱码或者中英文切换异常解决办法
在shell中执行以下命令 初步删除 ~/.config/SogouPY 如果还有出现则继续删除 ~/.config/SogouPY.users, sogou-qimpanel 这两个文件夹
- Qt Qml实现国际化
Qt Qml实现国际化 标记需要翻译成内容 qml 中翻译的字符串需要用 qsTr() / qsTranslate() 包裹起来. text: qsTr("text11111") ...
- Origin | origin 2021b 学生免费版 | 中英文切换
origin | 续期 | 中英文切换 一.如何再次续期 二.中英文切换 在 Origin: 软件申请+续期指引中笔者讲了如何在origin官网申请免费学生版软件并激活使用,申请期限为半年. 本篇文章 ...
- Qt实现中英文切换(国际化)
前言 距离上一次发博客,已经又快一个月过去了,今天写一篇有关于Qt程序如何实现中英文切换的例子,之所以写这个,是因为这是最近项目的一个需求.Qt国际化,网上的例子,很多很多.... 看似很简单,但是真 ...
- QT翻译(中英文切换
QT翻译(中英文切换) 工具: Qt Linguist, 一般到Qt Creater的安装目录下的/gcc_64/bin下有一个可执行文件linguist, 双击打开即可 py => ts py ...
- Qt Quick实现国际化 中英文切换简明图文步骤
目录 前言 一.步骤 1.在pro文件中添加需要生成的ts文件: 2.通过工具-外部-语言家-update 生成zh_CN.ts和en_US.ts 3.通过语言家打开生成的ts文件进行翻译 4.将zh ...
- designer打开报错 qt_无法启动 Maya 集成的 qt designer 的解决方法和原因 以及 中英文切换...
无法启动 Maya 集成的 qt designer 的解决方法和原因 以及 中英文切换 前言: Maya 集成了 PySide,同时集成了qt designer,在 Maya 的安装目录下的 bin ...
最新文章
- java jackson json_java – 使用Jackson从JSON获取单个字段
- 设置eclipse中的字体大小
- [转]VC6 STLport-5.1.4 编译 安装
- cocos2d 屏幕適配_cocos2dx 3.2 屏幕适配的理解
- java ffmpeg swf_flash – ffmpeg:将仅音频flv转换为swf
- excel替换快捷键_18个Ctrl系列快捷键,简单易上手,且实用
- c语言vt码的用法,你可以使用vt100转义码c ++的十六进制颜色值
- 9/28shell合集
- 安装oracle客户端此先决条件,xp系统下oracle 11g客户端安装先决条件检查全部失败...
- 怎么把SEO和SEM配合起来
- 问题 F: 解救小哈
- 通过GPU服务器运行Carla
- 申请ios开发者证书到获取p12文件及profiles文件
- SAP ERP 与 Oracle ERP 比较
- UCOSIII软件定时器
- C++prime读书笔记(二)C++标准库:IO、容器、泛型算法、动态内存
- c语言渐变算法,C绘制渐变矩形代码.doc
- 【OpenCV4】图像的傅里叶变换 cv::dft() 和逆变换 cv::idft() 解析(c++)
- Python 进阶(六): Excel 基本操作
- mysql n8_mysql几种引擎和使用场景