最近在学习使用QT,但是过程中碰到了中文乱码的问题,在此将我找到的解决方法共享一下:
1.界面的中文乱码 注释:这里使用字符串没有用tr的。
当我们直接使用以下语句往树组件添加节点时,在显示的时候会出现乱码
QStandardItem *item = new QStandardItem(QString("例子"));
我们可以在主窗口初始化的时候调用以下语句:
//set codec
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
我们界面就能正常显示中文了。
2 注释:这里使用字符串有用tr的。
QApplication::addLibraryPath("./plugins");//在程序运行根目录下建\plugins\codecs 将qcncodecs4.dll放入
QTextCodec *codec = QTextCodec::codecForName("GB2312");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);