本文不講任何道理,
當你在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位 編譯...