惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
腾讯CDC
Jina AI
Jina AI
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
小众软件
小众软件
M
MIT News - Artificial intelligence
MyScale Blog
MyScale Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
月光博客
月光博客
L
LangChain Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
C
Check Point Blog
U
Unit 42
人人都是产品经理
人人都是产品经理

博客园 - chuncn

Eslint 规则说明 磁盘阵列RAID原理、种类及性能优缺点对比 asp.net中调用命令行 JavaScript中的CSS属性对照表 webRTC-实时流媒体的福音 qt 5.1 quick vs qt 4.x quick for control zeroc ice的概念、组成与服务 国内外期货、外汇、股指期货 交易时间 使用Visual Leak Detector for Visual C++ 捕捉内存泄露 window8 metro 之 RSA sqlite in qt Windows环境下使用Boost Qt 表格&列表数据驱动化(c++) 原创 Qt读写INI配置文件 Qt编码风格 -- 转 win32里玩事件-转 c++中捕捉内存泄露、异常 win32 http download win32 DirectUI控件开发与调用指南
Qt多国语言的实现与切换(国际化)
chuncn · 2012-06-04 · via 博客园 - chuncn

1、创建语言文件

  打开.pro文件,加入以下:

TRANSLATIONS+=cn.ts

  工具->外部->Qt语言家->更新翻译,将生成翻译文件cn.ts

2、编辑翻译文件

  启动Linguist(Qt语言家),打开cn.ts,然后进行编辑,主要是将源文对应的译文填写上,最后保存

3、部署翻译文件

  工具->外部->Qt语言家->部署翻译,将生成语言文件qm

4、加载翻译文件

    QTranslator translator;
    bool b = false;
    b = translator.load("cn.qm");
    a.installTranslator(&translator);

注:随时可以重复“2”~“3”步骤以便更新翻译

5、切换不同多国语言

void MainWindow::Refresh()
{
    ui->listWidget->addItem(tr("item1"));
    ui->listWidget->addItem(tr("item2"));
    ui->listWidget->addItem(tr("item3"));
}

void MainWindow::on_pushButton_clicked()
{
    QTranslator translator;
    bool b = false;
    b = translator.load("cn.qm");
    qApp->installTranslator(&translator);
    this->Refresh();
}

void MainWindow::on_pushButton_2_clicked()
{
    QTranslator translator;
    bool b = false;
    b = translator.load("cn2.qm");
    qApp->installTranslator(&translator);
    this->Refresh();
}

  经此一用,中文到控件上乱码的问题也顺带完美解决了,享受了一次轻松多国语实现的过程。