1. 程式人生 > >Qt5 C++原始碼中使用中文的簡單步驟

Qt5 C++原始碼中使用中文的簡單步驟

本文不講任何道理,當你在Qt5的C++檔案內使用中文,你只需按順序簡單照做即可。(不止是中文,其實你完全可以在程式碼中使用日韓法俄語等等各國語言)

0. [通用] 原始檔儲存為帶BOM的UTF-8格式

如果你準備跨平臺,儲存為帶BOM的UTF-8是必不可少的。而後,原始碼中的所有字串常量使用 QStringLiteral 巨集進行包裹

複製程式碼
  1. QString s1 = QStringLiteral("中國");
  2. edit.setText(QStringLiteral("中國"));


僅僅這樣就可以了。

但是
如果,除了寬字串外,你還需要使用窄字串,比如

複製程式碼
  1. QString s1 = "中國";
  2. QString s2 = tr("中國");
  3. QByteArray s3 = "中國";
  4. const char * s4 = "中國";
  5. edit.setText("中國");


那麼,你需要:

1. [通用] Qt5要求窄字串執行字符集為 UTF8

在檔案頭部新增下面3行程式碼

複製程式碼
  1. #ifdef _MSC_VER
  2. #pragma execution_character_set("utf-8")
  3. #endif


2. [MSVC] 如果你不在用MSVC,請跳過該步驟

如果你在使用MSVC2005MSVC2012,請換用其他版本的MSVC
如果你在使用MSVC2008,請升級到最新的SP1,並安裝 KB980263 補丁

如果你在使用MSVC2010MSVC2013

,本步驟不需要額外操作