qt默认的编码是unicode,它不能直接显示中文,因为中文的编码有多种,比如GBK、GB2312、GB18030等。所以需要使用一些方法来转换编码或者设置环境来解决中文显示的问题。根据搜索结果,我找到了以下几种方法:
ui->label->setText(QString::fromLocal8Bit("你好"));
// 设置全局字符集为UTF-8
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
// 转换本地字符集为UTF-8
QTextCodec *codec = QTextCodec::codecForName("GBK");
QString str = codec->toUnicode("你好");
ui->label->setText(QStringLiteral("你好"));
#pragma execution_character_set("utf-8")
...
ui->label->setText("你好");