日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt 界面上控制中英文显示切换

發布時間:2023/12/29 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt 界面上控制中英文显示切换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

windows下GBK編碼方式的中文移植到ubuntu下UTF-8編碼方式的工作是件很令人頭疼的事情,經歷過一次的我深深知道是多么的痛苦,

所以從今天起我打算寫程序不在代碼中用一個中文.那大家要問了,要是想顯示中文怎么辦,那就使用Qt的預言家!


我用一個最簡單的例子來闡述如何做到在界面上來切換中英文顯示!


1.用qtcreator創建一個 基于QMainWindowMainWindow即可


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語言家里才能找到待翻譯的字符串

{ ui->menuLanguage->setTitle(tr("language")); //需要更新菜單欄文本 ui->actionChinese->setText(tr("chinese")); //需要更新action文本 ui->actionEnglish->setText(tr("english")); //需要更新cation文本 }

那翻譯文件從哪里獲取呢? 對了!就是用到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 界面上控制中英文显示切换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。