转义符,该如何处理
转义符
QPushButton *qb1 = new QPushButton("abc",this);
qb1->setText("退出");//这里退出要加哪个转换符号
------解决思路----------------------
这3行setCodecForXXXX 隐含了很多错误。永远不要这3行代码一块用,非要用的话,最后一个setCodecForCStrings()代码足够了。
另外:永远不要用QTextCodec::codecForLocale() 来设置其他setCodecForXXXX编码,直接用GBK或UTF8 或其他
------解决思路----------------------
我很抱歉对QTextCodec::codecForCStrings的默认值做了假设,那我修正一下,Qt4在gcc下用QString(const char*)中文需要先QTextCodec::setCodecForCStrings("utf-8");或QString::fromUtf8("中文");
至于Qt5为何移除codecForCStrings可以参考这张图片:

另外我并没有说MSVC不支持utf-8运行字符集,就2010来说,需要安装sp1,然后需要#pragma execution_character_set("utf-8")这条预处理指令。
QPushButton *qb1 = new QPushButton("abc",this);
qb1->setText("退出");//这里退出要加哪个转换符号
------解决思路----------------------
这3行setCodecForXXXX 隐含了很多错误。永远不要这3行代码一块用,非要用的话,最后一个setCodecForCStrings()代码足够了。
另外:永远不要用QTextCodec::codecForLocale() 来设置其他setCodecForXXXX编码,直接用GBK或UTF8 或其他
------解决思路----------------------
我很抱歉对QTextCodec::codecForCStrings的默认值做了假设,那我修正一下,Qt4在gcc下用QString(const char*)中文需要先QTextCodec::setCodecForCStrings("utf-8");或QString::fromUtf8("中文");
至于Qt5为何移除codecForCStrings可以参考这张图片:
另外我并没有说MSVC不支持utf-8运行字符集,就2010来说,需要安装sp1,然后需要#pragma execution_character_set("utf-8")这条预处理指令。