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

2021-09-22 01:24:31 字數 1271 閱讀 6375

gcc、clang等

編譯器使用

中文都是非常簡單的,唯獨msvc是個毒瘤,本文給出的方案均可跨gcc、clang平台,所以在文字上只需提及msvc的版本。

對vs2015update2及以上版本

如果你在使用vs2015update2、vs2017。只需要在.pro檔案內加入如下**即可。(原始碼使用utf8,不需要bom)

複製**

win32-msvc*:

對vs2008~vs2015update1

如果你在使用vs2008(需要打補丁)、vs2010、vs2013、vs2015(未安裝update2),或者你的原始碼需要相容這些編譯器,

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

,你需按以下步驟操作。(不止是中文,其實你完全可以在**中使用日韓法俄語等等各國語言)

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

如果你要支援這些vs版本,且需要跨

其他平台,儲存為帶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

或更新版本,本步驟不需要額外操作

--具體細節,請參考 

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

本文不講任何道理,當你在qt5的c 原始檔內使用中文時 你只需按順序簡單照做即可。不止是中文,其實你完全可以在 中使用日韓法俄語等等各國語言 0.通用 原始檔儲存為帶bom的utf 8格式 如果你準備跨平台,儲存為帶bom的utf 8是必不可少的。而後,原始碼中的所有字串常量使用 qstringli...

Qt中使用中文的簡便方法

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

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

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