【已解决】c++ qt解决setText乱码问题
文章目录
- 问题背景
- 问题解决方案
问题背景
想让控件setText显示的中文不要乱码,结果就是个乱码。
问题解决方案
看了之前有一个大佬写的文章,结果发现,加上这四行代码
QTextCodec *codec = QTextCodec::codecForName("UTF-8");QTextCodec::setCodecForTr(codec);QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
例如
#include "testxml.h"#include
using namespace std;
testXml::testXml(QWidget *parent, Qt::WFlags flags): QWidget(parent, flags)
{ui.setupUi(this);
//目标很简单,将你好,显示在lineEditQTextCodec *codec = QTextCodec::codecForName("UTF-8");QTextCodec::setCodecForTr(codec);QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());QString name = "你好";ui.lineEdit->setText(name);}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
