近期开始接触Qt,并开始着手用Qt开发。简单记录下开发中碰到的中文编码的问题。
当中文在代码编辑器中不能正常显示的时候,可以选择更改源文件为GBK并按此格式保存。
1. 代码中使用中文常量
:QStringLiteral("中文"): QStringLiteral 是一个宏,参数为const char*,返回的是一个QString类型
不是用QStringliteral的时候编译会无法通过,这样界面和代码中都可以正常使用中文了。
2. 代码中使用中文的字符串变量
:需要用到一个QString的中文字符串数组, 尝试过用 QString str[] = {QStirngLiteral("中文"), QStringLiteral("英文")};,编译会通不过并且不给出具体提示。
通过查询文档才发现 MSVC2010 MSVC2012 编译的时候无法使用这种方式来初始化一个QString的数组。 更高版本的MSVC以及GCC还未进行测试。。。
:如需使用带中文的QString数组,可以使用QString提供的静态方法 --- QString str[] = {QString::fromStdWString(L"中文", QString::fromStdWString(L"英文")};
这样一来,如果仅仅是在windows上使用的话,也可以采取使用QString::fromStdWString(L"") 这个方法来正常使用中文了。