每用QtCreator创建一个Qt项目时都要为它添加中文支持,比如qt4:

就要在main.cpp里添加

QTextCodec* codec = QTextCodec::codecForName("GB18030");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForTr(codec);
这样很不爽,修改了一下工程模板,使它在创建Qt项目是自动加上中文支持。
首先修改控制台模板,在我的机器上路径是:D:\Qt\qtcreator-4.0.3\share\qtcreator\templates\wizards\projects\qmake\consoleapp\main.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:\Qt\qtcreator-4.0.3\share\qtcreator\templates\qt4project\main.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:\Qt\qtcreator-4.0.3\share\qtcreator
下覆盖即可。
D:\Qt\qtcreator-4.0.3是安装目录

最后加一个生成的程序中防止文件太乱的东东:
D:\Qt\qtcreator-4.0.3\share\qtcreator\templates\wizards\projects\qmake\consoleapp\file.pro
加上
MOC_DIR = ./moc
RCC_DIR = ./rcc
OBJECTS_DIR = ./obj
UI_DIR = ./ui

---------------------
作者:hats8888
来源:CSDN
原文:https://blog.csdn.net/hats8888/article/details/52179403
版权声明:本文为博主原创文章,转载请附上博文链接!

为QtCreator项目模板添加自动中文支持的更多相关文章

  1. UWP开发之Mvvmlight实践一:如何在项目中添加使用Mvvmlight(图文详解)

    最近一直在做UWP开发,为了节省成本等等接触到MVVMlight,觉得有必要发点时间研究它的用法与实现原理才行.如果有问题的地方或者有好的建议欢迎提出来. 随着移动开发的热门,Mvvmlight在An ...

  2. 用Visual Studio2019自定义项目模板

    项目模板简介 众所周知,在我们使用VS新建项目时,都需要选择一个项目模板,如下图: 我们选择完项目模板进行创建,创建完成之后,可以发现项目中已经包含了一些基础的文件.例如MVC: 可以看到,MVC项目 ...

  3. VS自定义项目模板:[2]创建VSIX项目模板扩展

    VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

  4. Visual Studio 项目模板制作(三)

    前面,我们已经制作好了模板,然后放到相应的Template目录就可以在Visual Studio中使用 本篇,我们采用安装VSIX扩展的方式来安装模板,这种方式需要安装Visual Studio SD ...

  5. [Visual Studio] 自定义项目模板(.vsix扩展)

    VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

  6. 为 ASP.NET Core (6.0)服务应用添加ApiKey验证支持

    这个代码段演示了如何为一个ASP.NET Core项目中添加Apikey验证支持. 首先,通过下面的代码创建项目 dotnet new webapi -minimal -o yourwebapi 然后 ...

  7. IDEA02 利用Maven创建Web项目、为Web应用添加Spring框架支持、bean的创建于获取、利用注解配置Bean、自动装配Bean、MVC配置

    1 环境版本说明 Jdk : 1.8 Maven : 3.5 IDEA : 专业版 2017.2 2 环境准备 2.1 Maven安装及其配置 2.2 Tomcat安装及其配置 3 详细步骤 3.1 ...

  8. debian添加中文支持

    转载:http://www.shunix.com/debian-chinese-support-472/   debian与ubuntu有很大的相似性,但是debian相对更原始,比如在语言支持这一块 ...

  9. ASP.NET WebServce项目下添加Http服务,支持Get,Post请求方式;传输格式json/xml

    由于WEBServce老项目中需要增添新的接口,而且添加的接口不希望被其它项目以引用Servces方式使用. 那么得在现有Service项目中添加Http请求方式来实现系统间数据交互.只需要告知请求地 ...

随机推荐

  1. Java数据类型转换规则

  2. 三、主流区块链技术特点及Hyperledger Fabric V1.0版本特点

    一.Hyperledger fabric V1.0 架构 1.逻辑架构: 2.区块链网络 3.运行时架构 二.架构总结 1.架构要点 分拆Peer的功能,将Blockchain的数据维护和共识服务进行 ...

  3. 为什么V8引擎这么快?[转]

    转载请注明出处:http://blog.csdn.net/horkychen Google研发的V8 JavaScript引擎性能优异.我们请熟悉内部程序实现的作者依源代码来看看V8是如何加速的. 作 ...

  4. docker中,将容器中的文件拷贝到宿主机上

    需求说明: 今天在做docker修改配置文件的问题,一个容器要使用另外容器的一个配置文件,但是在宿主机上没有, 就考虑将容器中的文件拷贝到宿主机上,在此记录下操作过程. 操作过程: 1.通过docke ...

  5. [Object Tracking] MeanShift

    使用Opencv中均值漂移meanShift跟踪移动目标 Opencv均值漂移pyrMeanShiftFiltering彩色图像分割流程剖析 Opencv目标跟踪—CamShift算法 MeanShi ...

  6. 大杂烩 -- 简析TCP的三次握手与四次分手

    基础大杂烩 -- 目录 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - ...

  7. ThinkingInJava 学习 之 0000005 访问权限控制

    1. 包:库单元 1. 代码组织 2. 创建独一无二的包名 3. 定制工具库 4. 用import改变行为 5. 对使用包的忠告 2. Java访问权限修饰词 1. 包访问权限 2. public : ...

  8. Python实现C代码统计工具(一)

    目录 Python实现C代码统计工具(一) 声明 一. 问题提出 二. 代码实现 三. 效果验证 四. 后记 Python实现C代码统计工具(一) 标签: Python 代码统计 声明 本文将基于Py ...

  9. 计算字符串相似度算法—Levenshtein

    什么是Levenshtein Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删 ...

  10. play mp3 in c#

    using System; using System.Runtime.InteropServices; using System.Text; using System.IO; using System ...