关于Qt中文显示问题

好久没写博客了,罪过罪过,近期开始更新,包括以前写的笔记也会整理整理


最近在看c++Qt GUI,在做练习的时候发现第三章的spreadsheet例子中文显示乱码,在网上搜了搜也没搜到。。。。就暂时放着,今天无意看到了一篇博客刚刚好写这个,就总结下吧


貌似linux下默认情况Qt的字符编码是GB18030-0, 是00年国家颁布的汉字编码,不过我执行的结果依然是乱码,有人说是c++的中文的支持并不是很好。


那就想到了更改字符编码。


Qt自己有一套更改字符编码的函数,那么我们直接调用就好了。


头文件

#include <QTextCodec>


QTextCodec *codec = QTextCodec::codecForName("编码类型");

//设置tr("")的字符编码

QTextCodec::setCodecForTr(codec);

//设置字符串的字符编码

QTextCodec::setCodecForCStrings(codec);


还有许多可设置的可以参考Qt assistant

包括编码类型,有20多种,可设置的函数也有十几种。

目前我常用的就是上面的两种,加到main函数窗体显示代码的前面,如果加到后面不会有效果,你肯定要先设置显示内容的格式把 - -.


最后我测试成功用的是UTF-8,这个编码格式还是支持比较多的,听说最多的也是它。

你可能感兴趣的:(关于Qt中文显示问题)