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

推荐订阅源

I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
B
Blog
罗磊的独立博客
GbyAI
GbyAI
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
The GitHub Blog
The GitHub Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
MyScale Blog
MyScale Blog
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏

博客园 - 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();
}

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