Qt 界面上控制中英文显示切换
windows下GBK編碼方式的中文移植到ubuntu下UTF-8編碼方式的工作是件很令人頭疼的事情,經歷過一次的我深深知道是多么的痛苦,
所以從今天起我打算寫程序不在代碼中用一個中文.那大家要問了,要是想顯示中文怎么辦,那就使用Qt的預言家!
我用一個最簡單的例子來闡述如何做到在界面上來切換中英文顯示!
1.用qtcreator創建一個 基于QMainWindow 的MainWindow即可
2.MainWindow構造函數中初始化翻譯器并安裝在程序上
translator = new QTranslator(this);
qApp->installTranslator(translator);
on_actionEnglish_triggered() //初始化初始狀態
3..創建兩個action 用來切換中英文顯示
void on_actionEnglish_triggered();
void on_actionChinese_triggered();
切換其實就是翻譯器加載不同的翻譯文件然后從新設置一下該翻譯地方的文本
void MainWindow::on_actionEnglish_triggered()
{ translator->load(":/translations/english"); retranslateUi(); } void MainWindow ::on_actionChinese_triggered () { translator->load(":/translations/chinese"); retranslateUi(); }void MainWindow::retranslateUi()???????????????????????? //注意! 被翻譯的字符串一定要用 tr("xxxx") 括起來 這樣在Qt語言家里才能找到待翻譯的字符串
那翻譯文件從哪里獲取呢? 對了!就是用到Qt 語言家來生成 .
1.首先要生成 .ts文件 , 此文件Qt語言家可以識別打開來進行翻譯
在.pro文件中加入? TRANSLATIONS = english.ts? chinese.ts ,
然后Qtcreator 工具 -->外部 -->qt 語言家-->lupdate 后就可以在源代碼目錄下發現 english.ts chinese.ts文件了.
2.用語言翻譯家打開這兩個文件將字符串翻譯成對應的語言即可然后保存
3.通過qt語言家把.ts文件生成.qm文件提供給程序使用.
qt語言家界面點擊 文件-->發布 即可在 .ts同級目錄下找到 同名的.qm文件
然后將.qm文件放在合適的路徑? qrc也好,直接扔到一個文件夾也好 只要能找到即可
軟件開發,項目訂制-- http://qtapp.taobao.com
聯系qq: 2216144104
總結
以上是生活随笔為你收集整理的Qt 界面上控制中英文显示切换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.1计算机简介、Python语言简介
- 下一篇: 人物三(依芙蒂法)