1. 程式人生 > >QT動態切換中英文

QT動態切換中英文

1. *.pro 檔案新增

TRANSLATIONS += trans/zh.ts \
                trans/en.ts

2. 程式使用tr()來輸出字串

3. 使用QT自帶工具 lupdate 生成ts檔案(例如: lupdate demo.pro) 生成在 ./trans/

4. 使用QT自帶工具 linguist 生成qm檔案

5. 把生成的qm檔案匯入到工程裡面

貼上切換程式碼

#define current_language "Chinese"
QTranslator *tor;

tor = new QTranslator();
if (current_language == "Chinese") {
    tor->load(":/trans/zh.qm");
} else if (current_language == "English") {
    tor->load(":/trans/en.qm");
}
qApp->installTranslator(tor);
this->ui->retranslateUi(this);

/*
    語言選擇
*/
void MainWindow::on_comboBox_3_activated(int index)
{
    switch (index) {
    case 0:
        QApplication::removeTranslator(tor);
        tor->load(":/trans/zh.qm");
        qApp->installTranslator(tor);
        this->ui->retranslateUi(this);
        ui->comboBox_3->setCurrentIndex(0);
        current_language = "Chinese";
        break;
    case 1:
        QApplication::removeTranslator(tor);
        tor->load(":/trans/en.qm");
        qApp->installTranslator(tor);
        this->ui->retranslateUi(this);
        ui->comboBox_3->setCurrentIndex(1);
        current_language = "English";
        break;
    default:
        QApplication::removeTranslator(tor);
        tor->load(":/trans/zh.qm");
        qApp->installTranslator(tor);
        this->ui->retranslateUi(this);
        ui->comboBox_3->setCurrentIndex(0);
        current_language = "Chinese";
        break;
    }
    set_default_Form_conf();
}


主要注意的是,動態切換完畢後,需要對lineEdit等控制元件重新setText下初始值。

相關推薦

QT動態切換中英文

1. *.pro 檔案新增 TRANSLATIONS += trans/zh.ts \ trans/en.ts 2. 程式使用tr()來輸出字串 3. 使用QT自帶工具 lupdate 生成ts檔案(例如: lupdate demo

QT 國際化 動態切換中英文

Qt 國際化 動態切換中英文 由於專案需要,需要在介面中實現動態切換中英文。由此記錄下實現方法。 首先 如圖所示:在右上角中有一個按鈕切換選擇中英文。 實現效果: 點選選單按鈕後彈出兩個子選單列表。選擇中英文。 實現方法: 將PushB

web,jsp,html網站中英文切換,資源國際化解決方案及程式碼(其中包含動態切換資料來源及URL攔截器).

<!--資料來源 A--> <bean id="dataSourceCn" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!-- 使用properties來配置 -->

QT 多語言動態切換設計說明

背景說明專案使用visual studio 2008 + qt 4.7.3 開發,所有的ts檔案都同時存放在指定資料夾,通過批命令生成一個.qm檔案。1      概述軟體需要支援中文、英文切換。當軟體切換到不同語言時,軟體介面對應的文字說明、提示資訊等都需要切換到對應的語言

QT實現多國語言的動態切換

摘要:本文論述瞭如何使用QT實現程式的多語系支援以及多語系的動態切換。 前沿 我們生活中用到的程式大多都是支援單一語言的,比如在中國我們用到的軟體大多是漢語的,也有很少部分使用的是英語的,但是很少有軟體可以實現兩種語言的動態切換。不過隨著近幾年我國的發展支援多國語言的軟體

Spring整合多數據源實現動態切換

sna apach 動態數據 innodb des lis 項目 void getc 在實際項目中時常需要連接多個數據庫,而且不同的業務需求在實現過程當中往往需要訪問不同的數據庫。 jdbc.properties配置文件,配置多個dataSource ##########

log4j範例,動態切換日誌位置

參考 () apache lin extends 切換 位置 bsp string 詳解參考:http://www.cnblogs.com/ITEagle/archive/2010/04/23/1718365.html Logger.getRootLogger().

Spring動態切換多數據源解決方案

http aso 解決 目標 可能 bcp pro start map spring動態配置多數據源,即在大型應用中對數據進行切分,並且采用多個數據庫實例進行管理,這樣可以有效提高系統的水平伸縮性。而這樣的方案就會不同於常見的單一數據實例的方案,這就要程序在運行時根據當時的

GuozhongCrawler看準網爬蟲動態切換IP漫爬蟲

input arraylist [] java resource popu pre puts oschina 有些關於URL去重的方面代碼沒有提供,須要自己去實現。主要這裏提供思路 項目地址:http://git.oschina.net/woshidaniu/

基於spring的aop實現多數據源動態切換

get 聲明式事務 數據庫 abstract 多數據源動態切換 for web開發 pro model https://lanjingling.github.io/2016/02/15/spring-aop-dynamicdatasource/ 基於spring的aop

vue2.0 動態切換組件

scrip 2.0 動態 com 不同的 cti meta change temp 組件標簽是Vue框架自定義的標簽,它的用途就是可以動態綁定我們的組件,根據數據的不同更換不同的組件。 <!DOCTYPE html> <html lang="en">

EntityFramework For Mysql 動態切換數據源

方案 簡介 分享 簽名 什麽 article uget 類的構造函數 問題 1.簡介 在工作中遇到一個問題。項目有三個數據庫(三個數據庫表結構一樣),用戶可以選擇使用哪個數據庫。其實就是動態切換數據庫連接。 2.EntityFramework For Mysql 先來簡單的

Qt動態連接庫/靜態連接庫創建與使用,QLibrary動態加載庫

成功 方式 ++ 版本 應該 blog 不包含 對比 body 版權聲明:若無來源註明,Techie亮博客文章均為原創。 轉載請以鏈接形式標明本文標題和地址: 本文標題:Qt動態連接庫/靜態連接庫創建與使用,QLibrary動態加載庫 本文地址:http://te

vue2.0 實現click點擊當前li,動態切換class

一行 for ont pla false style function float del <template>  <div>    <ul>      <li v-for="(item,$index) in items" @cli

Spring+Mybatis動態切換數據源

zed sel 需求 none fig tcl troy tar abs 功能需求是公司要做一個大的運營平臺: 1、運營平臺有自身的數據庫,維護用戶、角色、菜單、部分以及權限等基本功能。 2、運營平臺還需要提供其他不同服務(服務A,服務B)的後臺運營,服務A、服務B的數據庫

vue動態切換頁面

spl display ack doctype lan solid cti isp 切換 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

spring+mybatis+tkmapper+atomikos實現分布式事務(3)-動態切換數據源

springmvc mybatis tkmapper atomiks 動態數據源 本文介紹基於spring+mybatis+tkmapper+atomikos+jta實現分布式事務,由程序動態切換數據源,通過atomikos可實現分布式事務一致性。通過繼承MapperScannerConf

用phpcms切換中英文網頁的方法(不用解析二級域名)、phpcms完成pc和手機端切換(同一域名)

msu 可用 解決 start 這就是 arp header 欄目 profile AA。phpcms進行雙語切換方法(不用解析二級域名) phpcms進行兩種語言的切換,有一把部分的人都是進行的二級域名的解析,這樣的話可能會有一部分的麻煩,我這裏有一種方法可以不用解析二級

Vue國際化處理 vue-i18n 以及項目自動切換中英文

alt label mas 地方 html min 目錄 sta admin 1. 環境搭建 命令進入項目目錄,執行以下命令安裝vue 國際化插件vue-i18n npm install vue-i18n --save 2. 項目增加國際化翻譯文件 在項目的src下添加la

springboot2.0.3:讀寫分離,使用AOP根據方法名動態切換數據源。

move net 流程 adl rim tis sig mov put springboot版本:2.0.3!!! springboot版本:2.0.3!!! springboot版本:2.0.3!!! 我搭好的環境是:springboot 2.0.3+mybatis 大致