精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Qt 界面實現多國語言的切換實例

移動開發
Qt內部采用的全Unicode編碼,這從根本上保證了多國語界面實現的正確性和便捷性。Qt本身提供的linguist工具,就是來實現這個翻譯過程的。實現多國語的步驟大體上說來有這么幾步:

Qt 界面實現多國語言切換實例是本文要介紹的內容,一直認為Qt界面相對于還是很好實現的一種開發。多國語界面的實現,在MFC中是很別扭的。以前在作MFC時,實現多國語言界面,只有把資源文件做成各個語言的資源DLL,在程序啟動時,根據選擇判斷選擇載入哪個DLL來獲取資源。MFC的資源也是分語言的,在創建資源的時候要選擇,但是這樣的實現還有有弊端。最根本的原因是MFC的資源文件不是Unicode編碼的,而是不同語言的本地碼,至少VC6是這樣的。這樣在中文系統中載入日文的資源,界面出現的是亂碼。

Qt內部采用的全Unicode編碼,這從根本上保證了多國語界面實現的正確性和便捷性。Qt本身提供的linguist工具,就是來實現這個翻譯過程的。實現多國語的步驟大體上說來有這么幾步:

1、在需要被翻譯的字符串前面標識tr,如QString str=tr(“hello,world!”); ,這很重要,因為翻譯工具會把源碼中tr標識的字符串提取出來,翻譯成其他語言,如果沒有用tr標識的,不會被工具提取。在界面中輸入的文字,默認已經是加上tr的了,所以在翻譯時也能看見。建議:在程序中的字符串使用英文,漢語等通過多國語翻譯來實現,而不要采取把漢字寫在代碼中。

2、在工程文件***.pro中,添加一項 TRANSLATIONS +=    ***.ts  ****.ts 擴展名為.ts是翻譯的源文件,表示生成這幾個文件。一般我們會在命名中把區域加進去,更好的注釋這些文件是用于什么語言的,比如中文大多會這樣命名 myapp_zh_CN.ts, zh_CN表示的就是中國。

3、使用lupdate工具提取翻譯源文件, 命令是這樣的  #lupdate ***.pro ,lupdate會解析***.pro即工程文件,生成TRANSLATIONS中的 ***.ts 幾個文件,這些文件可以被linguist工具打開,按照提示一個一個的翻譯成需要的文件,然后保存就OK,

linguist的使用很簡單,一看界面基本就會了。上面提到的這些工具都是Qt自帶的。

4、使用lrelease工具發布翻譯文件的二進制文件,這樣在程序運行時載入會大大的加快速度。使用方式是#lrelease ***.pro,這個工具會提示你多少語句被翻譯,多少被忽略了等。生成的文件是 ***.qm,于同名的 ***.ts只是換了一個擴展名。而這才是我們程序需要使用到的文件。

5、使用***.qm文件。關于這個,我想還是摘抄書上的原文來說明一下:

切換語言分為兩種情況:

1. 程序載入的時候,根據當前的區域設置,自動選擇語言包(.qm),即可;

2. 要求在程序運行過程中動態切換語言,需要
 
***種情況,一般在main函數中程序啟動的部分加入如下代碼:

  1. connect(langCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(changeLang(int)) );    
  2. // 載入不同的語言包    
  3. void WizarDialog::changeLang( int langIndex )    
  4. {    
  5.   QTranslator *translator = new QTranslator(qApp);    
  6.   switch( langCombo->currentIndex() ){    
  7.   case 0:    
  8.     translator->load(QString("./language/pt_BR"));    
  9.     break;    
  10.   case 1:    
  11.     translator->load(QString("./language/en_US"));    
  12.     break;    
  13.   case 2:    
  14.     translator->load(QString("./language/zh_CN"));    
  15.   default:    
  16.     break;    
  17.   }    
  18.   qApp->installTranslator( translator );    
  19.   this->initGUI();    
  20. }   
  21. // initGUI() 中會有大量的tr函數    
  22. void WizarDialog::initGUI()    
  23. {    
  24.   this->setWindowTitle(tr("RTA04W"));    
  25.   /* ...... */    
  26. }  

這兩種情況,也可以復合起來用。

需要說明的時, 一般我們使用設計器來設計界面UI,也就是程序源碼中我們看到的 ***.ui文件,在載入翻譯器后,我們應該調用 ui->retranslateUi() ,這個函數實際上就是把界面控件的text重新載入一遍,可以在 ui_***.cpp中看到該函數的實現。

5、在幫助文檔中,關于 QTranslator::load有這樣一句話。

The data is not copied. The caller must be able to guarantee that data will not be deleted or modifiled.

這段話明確的說明了,QTranslator在load以后,并沒有把qm文件中的數據拷貝一份,而是在需要的時候去查詢字符串。如果qm在這期間被刪除或修改,對程序都是有影響的。擴展開來,QTranslator必須保證要一直有效,如果在函數中定義的局部變量,函數結束后就自動釋放掉了,那么翻譯工作就不能正常進行。所以建議在private中定義個成員變量 QTranslator* app_translator;來確保整個翻譯工作的正確性。

小結:Qt 界面實現多國語言的切換實例的內容介紹完了,希望本篇文章能夠對你有所幫助!!!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-30 13:37:29

MFC Qt 多國語

2009-06-10 18:01:35

netbeans下載多國語言開發版

2009-03-02 09:45:45

2011-06-21 09:33:49

Qt 啟動 界面

2009-05-29 09:48:05

Sandboxie瀏覽器

2011-03-16 13:47:44

IE9

2011-06-20 13:54:41

Qt 動態 切換

2021-08-18 20:36:24

微信翻譯移動應用

2011-06-21 14:12:14

Qt Linux 登錄界面

2011-06-13 14:29:40

Qt Designer

2025-05-09 09:12:00

2011-06-28 16:40:17

Qt Widget 圖片

2011-06-22 17:36:50

QT Linux 串口

2011-06-24 16:09:24

Qt 動畫 狀態機

2009-04-28 16:18:29

.Net MicroSideShow

2011-06-21 13:52:18

Qt 界面

2009-09-03 17:06:17

C#回車切換焦點

2011-06-29 16:50:17

Qt 顯示寬字符

2021-12-25 19:19:18

AndroidAndroid 13安卓

2009-10-28 11:44:34

VB.NET資源文件
點贊
收藏

51CTO技術棧公眾號

久久久人人人| 欧美重口另类| 亚洲午夜一区二区三区| 精品无人乱码一区二区三区的优势| 日韩精品一区二区av| 蜜桃精品wwwmitaows| 欧美日韩亚洲另类| 久久久国内精品| 日韩av地址| 免费亚洲电影在线| 欧美黑人xxxx| 69精品无码成人久久久久久| 精品视频在线播放一区二区三区| 天天操天天色综合| 一本色道久久综合亚洲二区三区 | 午夜精品视频一区二区三区在线看| 91精品国产欧美一区二区| 5月婷婷6月丁香| 淫片在线观看| 成人18视频在线播放| 国产精品高清在线观看| 亚洲av鲁丝一区二区三区| 日韩欧美影院| 日韩亚洲欧美在线观看| 男人的天堂日韩| 欧美videossex| 欧美国产精品劲爆| 久中文字幕一区| 国产人妖一区二区| 久久裸体视频| 91精品国产乱码久久久久久久久| 国产黄a三级三级| 少妇精品导航| 精品日韩成人av| 日本免费色视频| 日本不卡一二三| 亚洲国产中文字幕在线视频综合| 亚洲巨乳在线观看| 久久米奇亚洲| 99久久精品情趣| 97神马电影| 99精品视频在线播放免费| 美日韩精品视频| 久久人人爽人人爽人人片av高请| 国产精品免费人成网站酒店| 欧美亚洲国产精品久久| 国产视频精品免费播放| 中国xxxx性xxxx产国| 国产精品视频首页| 777a∨成人精品桃花网| 艹b视频在线观看| 快播电影网址老女人久久| 偷拍亚洲欧洲综合| 男女超爽视频免费播放| 秋霞在线午夜| 亚洲一区二区欧美| youjizz.com在线观看| 成人影院在线观看| 亚洲男帅同性gay1069| 一区二区在线不卡| 日本不卡视频| 亚洲天天做日日做天天谢日日欢| 一本一本a久久| 看黄网站在线| 亚洲视频在线一区二区| 艳母动漫在线免费观看| 91麻豆免费在线视频| 亚洲靠逼com| 蜜桃网站在线观看| 欧美xxxx少妇| 天天亚洲美女在线视频| 毛片av免费在线观看| 中文字幕av一区二区三区佐山爱| 91黄视频在线观看| 日韩一区二区三区久久| 香蕉久久一区| 日韩精品一区二区三区swag | 高清成人免费视频| 国产乱码精品一区二区三区卡| 国产91麻豆视频| 99久久久精品免费观看国产蜜| 欧美精品一区二区三区四区五区| 成人免费在线电影| 成人免费一区二区三区在线观看| 五月天激情图片| 黄在线观看免费网站ktv| 色综合网色综合| 欧美一级视频在线| 岛国精品一区| 亚洲视频在线观看| 色哟哟一一国产精品| 欧美日一区二区在线观看 | 亚洲精品wwwww| 蜜桃无码一区二区三区| 99九九热只有国产精品| 欧美激情亚洲激情| 午夜精品免费观看| 精品一区二区三区久久| 国产精品区一区| 黄色视屏网站在线免费观看| 一区二区中文视频| 18禁免费观看网站| 日韩欧国产精品一区综合无码| 日韩精品一区二区三区四区| 国产成人精品无码免费看夜聊软件| 我不卡影院28| 奇米一区二区三区四区久久| 97精品人妻一区二区三区香蕉| 不卡的看片网站| 亚洲二区三区四区| 2020国产在线| 777奇米成人网| 强伦人妻一区二区三区| 欧美日本一区二区高清播放视频| 欧美性受xxxx黑人猛交| 国产三级按摩推拿按摩| 91日韩在线专区| 亚洲黄色网址在线观看| 色天使综合视频| 亚洲第一区第二区| 国产又色又爽又高潮免费| 日韩视频一区二区三区在线播放免费观看| 国产精品精品视频| 亚洲欧美日韩免费| 亚洲精品国产一区二区三区四区在线 | 亚洲国产视频直播| 美女在线视频一区二区| 色老板在线视频一区二区| 欧美巨大黑人极品精男| 国产乡下妇女三片| 91麻豆成人久久精品二区三区| www.国产亚洲| 97久久中文字幕| 一区二区三区www| 欧美激情黑白配| 成人美女在线观看| 99热都是精品| 亚洲精品三区| 色爱精品视频一区| 久草视频在线免费| 91色porny| 日韩av三级在线| 丁香五月缴情综合网| 欧美久久精品午夜青青大伊人| 在线观看毛片视频| 久久精品人人做人人爽97| 日韩av片在线看| 日韩影视在线观看| 91精品国产乱码久久久久久久久 | 成人国产一区| 国产一区二区三区丝袜| 欧美brazzers| 国产亚洲欧美在线| 女人另类性混交zo| 精品久久久亚洲| 国产精品日日做人人爱| √新版天堂资源在线资源| 欧美影视一区在线| 一级片黄色录像| 美女精品自拍一二三四| 亚洲人成网站在线播放2019| 国内自拍亚洲| 久久精品国产亚洲精品2020| 97精品久久人人爽人人爽| 自拍偷拍亚洲综合| 特黄特黄一级片| 欧美激情视频一区二区三区免费| 97人人香蕉| 春色校园综合激情亚洲| 日韩电影免费在线观看中文字幕 | 91手机在线观看| 性欧美ⅴideo另类hd| 欧美成人三级电影在线| 日韩精品视频免费看| 久久欧美一区二区| 欧美婷婷精品激情| 在线精品国产| 国产一区二区三区av在线| 桃色av一区二区| 中文字幕亚洲国产| 午夜精品久久久久久久爽| 亚洲福利一区二区| 亚洲最大成人网站| 麻豆精品一区二区av白丝在线| 中国女人做爰视频| 三级小说欧洲区亚洲区| 国产精品入口免费视频一| 顶级网黄在线播放| 精品成a人在线观看| 亚洲精品男人的天堂| 中文字幕欧美日本乱码一线二线| 美女黄色片视频| 一区二区三区在线| 亚洲国产私拍精品国模在线观看| 欧美一级在线看| 视频精品在线观看| 亚洲最大福利网站| 少妇淫片在线影院| 久久天天躁狠狠躁夜夜av| 噜噜噜久久,亚洲精品国产品| 色偷偷久久一区二区三区| 国产女人被狂躁到高潮小说| 久久影院午夜片一区| www.51色.com| 久久在线精品| 久久久久久久久网| 国产一区二区三区探花| 国产福利不卡| 欧美亚洲二区| 国产91精品久久久久久久| 国产原创视频在线观看| 亚洲男人7777| 亚洲成熟女性毛茸茸| 欧美午夜电影一区| 欧美三级午夜理伦| 亚洲靠逼com| 国产精品久久久视频| 成人免费精品视频| 人人爽人人爽av| 日韩av在线发布| 黄色一级在线视频| 欧美在线精品一区| 亚洲一卡二卡三卡| 免费精品国产的网站免费观看| 亚洲一区二区中文| 日日av拍夜夜添久久免费| 欧美精品激情blacked18| 欧美69xxxx| 在线精品国产成人综合| 天天操天天干天天舔| 日韩精品最新网址| 91亚洲欧美激情| 欧美视频三区在线播放| 激情视频网站在线观看| 午夜私人影院久久久久| 欧美人妻精品一区二区三区 | 欧美精品一区二区三区久久| 日韩一区二区三区色| 91免费版网站入口| 国产精品天堂蜜av在线播放| 日韩**中文字幕毛片| 人人草在线视频| 久久久久久久久久亚洲| 成人区精品一区二区不卡| 色哟哟亚洲精品一区二区| 精品av中文字幕在线毛片| 亚洲精品不卡在线| 神马久久久久久久久久| 精品国产第一区二区三区观看体验 | 91久久精品网| 亚洲精品国产精品乱码| 亚洲成在线观看| 日本少妇做爰全过程毛片| 亚洲成人你懂的| 日韩 欧美 亚洲| 精品福利在线视频| 亚洲日本韩国在线| 欧美性猛交xxxx免费看| 在线精品免费视| 一本色道**综合亚洲精品蜜桃冫| 日日摸天天添天天添破| 91国偷自产一区二区开放时间 | 欧美精品tushy高清| 96日本xxxxxⅹxxx17| 欧美一级一级性生活免费录像| 精品久久在线观看| 亚洲国产另类 国产精品国产免费| 无码精品一区二区三区在线| 精品一区二区亚洲| 永久免费在线观看视频| 九九九久久国产免费| 国产探花在线观看| 欧美最猛性xxxx| 97精品国产99久久久久久免费| 91精品免费久久久久久久久| 日韩最新av| 久久av免费一区| sdde在线播放一区二区| 亚洲开发第一视频在线播放| 欧美不卡高清| 日韩久久一级片| 精品一区二区成人精品| 天天躁日日躁狠狠躁av麻豆男男 | 羞羞在线观看视频| 亚洲欧美日韩中文播放| 久久亚洲av午夜福利精品一区| 亚洲v中文字幕| 国产99久久久| 9191久久久久久久久久久| aaa一区二区| 亚洲精品网址在线观看| 国产系列电影在线播放网址| 色午夜这里只有精品| 99爱在线观看| 国产精品视频免费观看www| 中文在线а√天堂| 国产精品爽爽爽| 精品91福利视频| 成人激情电影一区二区| 日韩av影院| 亚洲精品一卡二卡三卡四卡| 国产精品久久久久久久| 日韩精品一区二区免费| 美女久久一区| 老司机午夜免费福利| 久久久99免费| 紧身裙女教师波多野结衣| 欧美午夜精品久久久久久久| 伊人22222| 亚洲变态欧美另类捆绑| av基地在线| 久久久噜噜噜久久| 中文字幕在线高清| 亚洲淫片在线视频| 伦理一区二区三区| 午夜探花在线观看| 久久精品日韩欧美| 韩国三级与黑人| 国产精品免费aⅴ片在线观看| 国产在线观看免费视频今夜| 欧美丝袜自拍制服另类| 同心难改在线观看| 久久国产天堂福利天堂| 香蕉成人影院| 国产区二精品视| 四虎成人精品永久免费av九九| 91av资源网| 国产福利一区二区三区视频在线| 这里只有久久精品| 婷婷六月综合亚洲| av免费观看网址| 精品国产一区二区在线| 特黄毛片在线观看| 99精品欧美一区二区三区| 国产精品88久久久久久| 久久久久久久久久久久久国产精品| 国产福利精品一区| 青青草精品在线视频| 欧美色综合久久| 日韩一区二区电影在线观看| 国产精品久久观看| 欧美 日韩 国产 激情| 久久午夜国产精品| 日本在线视频中文字幕| 精品福利一二区| 三级福利片在线观看| 91久久精品美女高潮| 亚洲欧洲中文字幕| 亚洲第一中文av| 久久综合久久鬼色中文字| 国产又大又黄又粗| 日韩激情视频在线播放| 中文在线а√天堂| 久久www免费人成精品| 自拍日韩欧美| 久久精品99国产精品酒店日本| av网站网址在线观看| 成人av电影天堂| 久久久久美女| 波多野结衣电影免费观看| 综合久久给合久久狠狠狠97色 | 日韩porn| 欧美有码在线观看| 免费精品国产| 日本黄网站免费| 中文字幕欧美激情一区| 天堂av免费在线观看| 国产午夜精品视频| 外国成人毛片| 成人性做爰片免费视频| 大陆成人av片| 久久久久久久黄色片| 欧美一区二区三区思思人| 激情图片在线观看高清国产| αv一区二区三区| 黄色成人精品网站| 国产黑丝一区二区| 欧美特级www| 成人精品福利| 成人免费观看a| 亚洲私人影院| 在线观看免费视频国产| 黑人巨大精品欧美一区免费视频 | 美女视频黄久久| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品jk白丝蜜臀av小说| 国产免费黄色小视频| 中文一区在线播放 | 欧美片网站yy| 伊人222成人综合网| 国产一区二区三区四区五区在线 | 女人和拘做爰正片视频| 91麻豆.com| 国产情侣av在线| 久久久久久久久久久久久久久久久久av| 亚洲不卡视频| 熟女人妇 成熟妇女系列视频| 国产精品久久毛片| 天天av天天翘| 国产精品一区二区电影|