精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

精品999在线| 91传媒在线免费观看| 久久久久久久毛片| 四虎精品在线观看| 亚洲精品精品亚洲| 精品国产91亚洲一区二区三区www| 精品人妻一区二区三区免费看| 成人在线免费观看91| 精品国产欧美一区二区| 99免费视频观看| 日本高清成人vr专区| av成人动漫在线观看| 国产日韩中文字幕| 在线观看亚洲欧美| 伊人久久大香线| 亚洲久久久久久久久久| 极品粉嫩美女露脸啪啪| 涩涩av在线| 伊人夜夜躁av伊人久久| 日本一区二区免费看| 性生交大片免费看女人按摩| 日韩精品亚洲一区二区三区免费| 九九热精品在线| 女人十八毛片嫩草av| 猫咪成人在线观看| 欧美一二三区精品| 久久撸在线视频| 欧美xxxhd| 一区二区三区欧美| 亚洲精品视频一区二区三区| 四虎在线观看| 成人h精品动漫一区二区三区| 国产日韩欧美另类| 亚洲中文无码av在线| 性高湖久久久久久久久| 久久久久久久香蕉网| 极品久久久久久| 色综合咪咪久久网| 成人高潮a毛片免费观看网站| 99免费精品视频| av成人午夜| av网站免费播放| 精品夜夜嗨av一区二区三区| 国产精品久久久久av| 五月婷婷视频在线| 性欧美videos另类喷潮| 欧美影院久久久| 圆产精品久久久久久久久久久| 欧美阿v一级看视频| 久久精品国产v日韩v亚洲| a资源在线观看| 国产中文精品久高清在线不| 亚洲欧洲国产伦综合| 日本黄色网址大全| 亚洲老女人视频免费| 亚洲精品中文字幕女同| 久久精品一区二区免费播放| 亚洲精品中文字幕99999| 亚洲精品一区av在线播放| 青青草成人免费视频| 日韩美女毛片| 亚洲人av在线影院| 成人无码av片在线观看| 色偷偷综合网| 不卡av在线播放| 久热精品在线观看| 一级成人国产| 国产精品大陆在线观看| 中文字幕在线观看1| 精品亚洲成a人在线观看| 2020国产精品久久精品不卡| 午夜免费福利视频| 91亚洲男人天堂| 无遮挡亚洲一区| av在线看片| 偷拍一区二区三区| 日本999视频| 视频欧美精品| 欧美精品一区在线观看| 亚洲第一页av| 日韩一区二区在线免费| 欧美成人精品一区二区三区| 久久亚洲国产成人精品性色| 母乳一区在线观看| 成人黄色影片在线| 无码国产精品高潮久久99| 国产三级久久久| 无码毛片aaa在线| 免费v片在线观看| 欧美日韩一区小说| 91传媒理伦片在线观看| 日本一区二区免费视频| 97久久综合精品久久久综合| 亚洲欧洲日本专区| 中文字幕五月天| 中文高清一区| 国产一区视频在线播放| 黑人精品一区二区| 亚洲国产精品t66y| 亚洲中文字幕无码av永久| 欧美aaa大片视频一二区| 91麻豆精品国产自产在线| 久久久久亚洲AV成人无码国产| 日韩av自拍| 97香蕉超级碰碰久久免费软件| 中文字幕人妻一区二区在线视频| 成人黄色在线视频| 一区二区在线高清视频| 英国三级经典在线观看| 欧美成人欧美edvon| 亚洲午夜精品久久久久久高潮| 久久久9色精品国产一区二区三区| 亚洲品质视频自拍网| 国产精品成人国产乱| 久久成人久久鬼色| 欧美动漫一区二区| 丰满大乳少妇在线观看网站| 欧美人与禽zozo性伦| 免费观看一级一片| 国产综合网站| 亚洲free性xxxx护士白浆| yourporn在线观看中文站| 午夜视频在线观看一区二区三区| 国产成人强伦免费视频网站| 久久精品无码专区| 电影一区二区| 日韩成人av一区| 久久久久久免费观看| 久久99这里只有精品| 日本电影一区二区三区| 在线女人免费视频| 亚洲成人性视频| 免费中文字幕在线观看| 国产在线精品免费av| 婷婷亚洲婷婷综合色香五月| 黑人巨大亚洲一区二区久| 亚洲成人精品视频| 精品视频久久久久| 国产99久久久久久免费看农村| 欧美性视频在线播放| 欧美一级免费| www国产精品com| 亚洲无码精品在线播放| 国产女人18水真多18精品一级做 | av中文字幕一区二区三区| 婷婷六月综合网| 精品国产人妻一区二区三区| 亚洲国产精品第一区二区三区| 7777精品久久久大香线蕉小说| 黄在线免费观看| 91精品国产综合久久国产大片| 少妇愉情理伦三级| 麻豆精品在线视频| 亚洲一区二区三区涩| 欧美成人毛片| 久久亚洲春色中文字幕| 99久久久久久久| 亚洲在线视频网站| 五月天激情小说| 免费欧美日韩| 日韩激情视频| 亚洲成a人片777777久久| 久久久精品美女| 亚洲精品国产精品乱码不卡| 亚洲一区二区三区中文字幕在线| 四季av综合网站| 午夜亚洲视频| 性刺激综合网| 国产精品麻豆| 97香蕉超级碰碰久久免费软件| 日本人妖在线| 欧美日韩亚洲另类| 九九热只有精品| 久久综合色鬼综合色| 91福利国产成人精品播放| 亚洲成人最新网站| 国产欧美日韩综合精品二区| 综合久久2023| 久久久国产精品x99av| 亚洲第一免费视频| 日本国产一区二区| 成熟的女同志hd| 欧美肉体xxxx裸体137大胆| 国产91在线|亚洲| 影音先锋成人资源网站| 久久香蕉精品香蕉| 国产免费亚洲高清| 超碰在线最新网址| 国产亚洲精品91在线| 国产丰满美女做爰| 姬川优奈aav一区二区| 九九热免费在线| 波多野结衣中文字幕一区 | 毛片av中文字幕一区二区| 黄瓜视频免费观看在线观看www| 在线播放一区二区精品视频| 青青久久aⅴ北条麻妃| 激情在线小视频| 日韩精品亚洲精品| 97人妻一区二区精品免费视频| 亚洲一区二区精品3399| 日本少妇xxxxx| 成人黄页毛片网站| 久久精品亚洲天堂| 日韩中文字幕av电影| 97超碰人人爱| 欧美精品色图| 国产欧美日韩伦理| 精品久久免费| 国产成人精品国内自产拍免费看| 日本性爱视频在线观看| 国产一区二区三区在线视频| 亚洲黄色小说网址| 欧美日韩一区二区三区在线看 | 欧美啪啪一区| 一本一道久久a久久精品综合 | 欧美黑人猛交的在线视频| 在线精品高清中文字幕| 日韩在线视频观看免费| 欧美一级午夜免费电影| 91porny九色| 欧美日韩国产中文字幕 | 欧美日韩不卡视频| 免费视频久久久| 午夜久久久影院| 一区视频免费观看| 日韩一区在线免费观看| 精品日韩在线视频| 久久久国产精品午夜一区ai换脸| 国产人成视频在线观看| 国产乱人伦精品一区二区在线观看| 成人在线免费播放视频| 国产精品毛片在线看| 欧美日韩福利在线| 激情久久久久久久| 国产日韩亚洲欧美在线| 一区二区蜜桃| 伊人久久婷婷色综合98网| 凹凸成人精品亚洲精品密奴| 欧美一级爱爱| 国产精品探花在线观看| 久久久久高清| 免费一区二区| 日韩精彩视频| 成人精品影院| 亚洲午夜精品久久久久久浪潮| av资源久久| 亚欧洲精品在线视频免费观看| 国内精品久久久久久久影视简单 | 欧美zzoo| 亚洲丝袜av一区| 国产区高清在线| 正在播放国产一区| 搞黄网站在线观看| 欧美人与性动交| 国产蜜臀一区二区打屁股调教| 欧美激情二区三区| 美女扒开腿让男人桶爽久久软| 亚洲97在线观看| 在线能看的av网址| 国产精品嫩草影院一区二区| 成人一区视频| 91九色蝌蚪国产| jazzjazz国产精品麻豆| 九九九久久久| 欧洲视频一区| 欧美日韩dvd| 日韩午夜一区| 日本男人操女人| 久久精品国产精品亚洲精品| 免费黄色在线播放| 99国产精品久久久久久久久久| 中文幕无线码中文字蜜桃| 欧美国产日产图区| 国产一二三四区| 黄色成人av在线| 中文字幕天堂在线| 日韩一区二区三区在线观看| 少妇高潮一区二区三区99小说| 亚洲欧美成人精品| 精品麻豆一区二区三区| 97超视频免费观看| 国产综合色激情| 国产精品久久亚洲7777| 超碰成人久久| 国产av熟女一区二区三区| 久久xxxx| 樱花草www在线| 久久老女人爱爱| 精品无码久久久久成人漫画| 精品久久久久久| 国产伦理吴梦梦伦理| 日韩精品在线免费播放| 国产盗摄在线观看| 欧美亚洲成人精品| 日本精品在线播放| 少妇免费毛片久久久久久久久| 欧美1区2区| 别急慢慢来1978如如2| 国产成人精品三级| 男女男精品视频网站| 五月天一区二区| 国产美女无遮挡永久免费| 亚洲欧美日本另类| 黑人精品视频| 91午夜理伦私人影院| 国产精品欧美在线观看| 人妻无码久久一区二区三区免费| 蜜桃视频一区二区三区在线观看 | 亚洲综合图色| 国产高清www| 国内精品写真在线观看| 天天躁日日躁aaaa视频| 午夜精品福利久久久| www三级免费| 精品国产欧美成人夜夜嗨| 日日夜夜天天综合| 精品国产一区二区三| 亚洲欧美一级二级三级| 久久99爱视频| 欧美激情中文不卡| 国产精品第六页| 亚洲精品一区二区久| 欧美激情网站| 九九99久久| 亚洲美女一区| 中文字幕天堂av| 亚洲综合激情小说| 国产按摩一区二区三区| 日韩在线观看视频免费| 日本国产欧美| 日韩欧美亚洲日产国| 久久久久中文| 亚洲天堂视频一区| 欧美性猛交xxxx乱大交| 天堂在线观看av| 国内精品久久久久影院 日本资源| 电影一区中文字幕| 国产成年人在线观看| 美女视频免费一区| 欧美xxxx精品| 欧美精品一卡二卡| 青青影院在线观看| 91久久精品国产| 中文字幕av亚洲精品一部二部| 黄色一级片免费的| 自拍视频在线观看一区二区| 国产一区二区三区四区视频| 日韩在线视频中文字幕| 日韩欧美专区| 国产一二三四五| 国产馆精品极品| 精品无码免费视频| 亚洲第一男人av| 性国裸体高清亚洲| 日本一区二区三区四区高清视频 | 91大神在线网站| 成人精品久久一区二区三区| 午夜精品毛片| 绯色av蜜臀vs少妇| 亚洲电影一级黄| 日本在线一二三| 国产精品福利无圣光在线一区| 日韩aaaa| 伦伦影院午夜理论片| 亚洲五月六月丁香激情| 西西人体44www大胆无码| 日韩av不卡在线| 欧美成人自拍| wwwxx日本| 欧美午夜精品在线| 亚乱亚乱亚洲乱妇| 999热视频在线观看| 国产欧美另类| 国产精品视频在| 精品日韩欧美在线| 亚洲伊人av| 天天成人综合网| 菠萝蜜视频在线观看一区| 欧美国产一级片| 久久久久久久色| 日本成人小视频| 在线观看亚洲免费视频| 欧美影院一区二区| 久草在线视频福利| 日韩国产精品一区二区| 国产精品456露脸| 秋霞精品一区二区三区| 久久中国妇女中文字幕| 欧美精品中文字幕亚洲专区| 亚洲最大天堂网| 天天操天天色综合| caoporm免费视频在线| 欧美精品国产精品久久久| 国产自产v一区二区三区c| 亚洲日本韩国在线| 久久亚洲精品国产亚洲老地址| 欧美日韩麻豆| 91视频福利网| 在线观看中文字幕不卡|