qtextcodec:codecforname返回的是啥编码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qtextcodec:codecforname返回的是啥编码相关的知识,希望对你有一定的参考价值。
参考技术A 下面两行任选一行加入到程序中试试: QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312")); QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));本回答被提问者采纳为QtCreator项目模板添加自动中文支持
每用QtCreator创建一个Qt项目时都要为它添加中文支持,比如qt4:
就要在main.cpp里添加
QTextCodec* codec = QTextCodec::codecForName("GB18030");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForTr(codec);
这样很不爽,修改了一下工程模板,使它在创建Qt项目是自动加上中文支持。
首先修改控制台模板,在我的机器上路径是:D:Qtqtcreator-4.0.3shareqtcreator emplateswizardsprojectsqmakeconsoleappmain.cpp
修改后的main.cpp代码如下
%{Cpp:LicenseTemplate}
%{JS: QtSupport.qtIncludes([ ‘QtCore/QCoreApplication‘ ],
[ ‘QtCore/QCoreApplication‘ ]) }
#include <QtCore>
#if QT_VERSION >= 0x050000
#pragma execution_character_set("utf-8")
#endif
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
a.addLibraryPath(a.applicationDirPath());
#if QT_VERSION < 0x050000
QTextCodec* codec = QTextCodec::codecForName("GB18030");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForTr(codec);
#else
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));
#endif
return a.exec();
}
</pre><pre code_snippet_id="1822416" snippet_file_name="blog_20160811_3_5046410" name="code" class="cpp">然后修改窗口程序模板,路径为:D:Qtqtcreator-4.0.3shareqtcreator emplatesqt4projectmain.cpp
修改后的main.cpp代码如下:
#include "%INCLUDE%"
#include <%QAPP_INCLUDE%>
#include <QtCore>
#if QT_VERSION >= 0x050000
#pragma execution_character_set("utf-8")
#endif
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.addLibraryPath(a.applicationDirPath());
#if QT_VERSION < 0x050000
QTextCodec* codec = QTextCodec::codecForName("GB18030");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForTr(codec);
#else
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));
#endif
%CLASS% w;
%SHOWMETHOD%
return a.exec();
}
这样就能在创建项目时,项目就能自动支持中文了。
提供修改后的项目模板下载地址:
http://yunpan.cn/c6UdeRCjVmryV 访问密码 f0da
把目录放到
D:Qtqtcreator-4.0.3shareqtcreator
下覆盖即可。
D:Qtqtcreator-4.0.3是安装目录
最后加一个生成的程序中防止文件太乱的东东:
D:Qtqtcreator-4.0.3shareqtcreator emplateswizardsprojectsqmakeconsoleappfile.pro
加上
MOC_DIR = ./moc
RCC_DIR = ./rcc
OBJECTS_DIR = ./obj
UI_DIR = ./ui
---------------------
作者:hats8888
来源:CSDN
原文:https://blog.csdn.net/hats8888/article/details/52179403
版权声明:本文为博主原创文章,转载请附上博文链接!
以上是关于qtextcodec:codecforname返回的是啥编码的主要内容,如果未能解决你的问题,请参考以下文章