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

2021-07-22 23:10:11 字數 965 閱讀 3386

本文不講任何道理,

當你在qt5的c++原始檔內使用中文時

,你只需按順序簡單照做即可。(不止是中文,其實你完全可以在**中使用日韓法俄語等等各國語言)

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

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

複製**

qstring s1 = qstringliteral("中國");

edit.settext(qstringliteral("中國"));

僅僅這樣就可以了。

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

複製**

qstring s1 = "中國";

qstring s2 = tr("中國");

qbytearray s3 = "中國";

const char * s4 = "中國";

edit.settext("中國");

那麼,你需要:

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

在檔案頭部新增下面3行**

複製**

#ifdef _msc_ver

#pragma execution_character_set("utf-8")

#endif

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

如果你在使用

msvc2005

或msvc2012

,請換用

其他版本的msvc

如果你在使用

msvc2008

,請公升級到最新的sp1,並

安裝kb980263

補丁如果你在使用

msvc2010

或msvc2013

,本步驟不需要額外操作

--具體細節,請參考 

from: 

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

gcc clang等 編譯器使用 中文都是非常簡單的,唯獨msvc是個毒瘤,本文給出的方案均可跨gcc clang平台,所以在文字上只需提及msvc的版本。對vs2015update2及以上版本 如果你在使用vs2015update2 vs2017。只需要在.pro檔案內加入如下 即可。原始碼使用u...

Qt中使用中文的簡便方法

在qt中使用中文字元的簡便方法 1 首先,在main函式中加入 include qtextcodec setcodecfortr qtextcodec codecforname gb2312 qtextcodec setcodecforlocale qtextcodec codecforname g...

QT的安裝和實現簡單動畫,有原始碼

因為工作需要,在windows下pc客戶端製作一些動畫效果,所以研究了一下qt,通過學習別人的例子,再加上自己的修改,將例子更加豐富了一下。我先申明一下,我拿的是別人的例子,非常感謝他們的demo,讓我省了很多時間,所以我也拿出來給大家分享一下。首先說下我的開發環境,作業系統 win7 64位 編譯...