Qt之中文顯示(QMessageBox、QLineEdit右鍵菜單等)

來源:互聯網
上載者:User

標籤:

來源:http://blog.sina.com.cn/s/blog_a6fb6cc90101art3.html

在編寫Qt程式的時候,總會碰到中文問題,一直都很困惑,原本在使用QLineEdit的時候總會出現右鍵英文的情況,開始的時候是將右鍵功能屏蔽掉。使用setContextMenuPolicy(Qt::NoContextMenu)來設定無右鍵菜單,但是後來發現這雖然省事,但是有不足之處,密碼框可以沒有右鍵菜單、不可複製、粘貼,但是普通的文字框還是得需要此項功能的,所以就摸索著如何?,做起來也很是簡單!

1、從Qt安裝目錄下面將檔案“D:\SoftWare\QtOpenSource\translations\qt_zh_CN.qm”複製一份到你的項目目錄下。

2、建立資源檔(QRC.qrc)

位置為工程目錄下:

內容:

qt_zh_CN.qm

3、在主函數main.cpp中載入相應的資源檔。

 1 #include #include "main_widget.h" 2  3 int main(int argc, char *argv[])  4 {  5 //建立QApplication對象,管理整個應用程式的資源,通過argc和argv來擷取它自己的命令列參數;  6 QApplication app(argc, argv); 7  8 //設定編碼,一般在Window開發環境裡,是GBK編碼,在Linux開發環境裡,是utf-8編碼  9 //擷取系統編碼,否則移植會出現亂碼 10 QTextCodec *codec = QTextCodec::codecForName("System");11 12 //設定和對本地檔案系統讀寫時候的預設編碼格式 13 QTextCodec::setCodecForLocale(codec);14 15 //設定傳給tr函數時的預設字串編碼 16 QTextCodec::setCodecForTr(codec);17 18 //用在字元常量或者QByteArray構造QString對象時使用的一種編碼方式 19 QTextCodec::setCodecForCStrings(codec);
20
//載入Qt中的資源檔,使Qt顯示中文(包括QMessageBox、文字框右鍵菜單等)
QTranslator translator;
21 translator.load(":/qm/qt_zh_CN"); 22 app.installTranslator(&translator);23 24 MainWidget main_widget; 25 main_widget.show();26 27 return app.exec(); 28 }

 

註:技術在於交流、溝通,轉載請註明出處並保持作品的完整性。╰☆奮鬥ing?孩子` 原文:http://blog.sina.com.cn/s/blog_a6fb6cc90101art3.html。

 

Qt之中文顯示(QMessageBox、QLineEdit右鍵菜單等)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.