最近更新到QT5.3,在UI中直接输入中文没有显示问题,但在代码中如果出现中文,在界面上显示时就会乱码。今天突然发现一种解决办法,在此做下记录,也希望能帮到其他人。
比如下面的代码:
ui->label->setText("你好,宋老师嵌入式");
这在界面上显示总是会出现乱码。
后来改成:
ui->label->setText(tr("你好,宋老师嵌入式");
一样乱码。
再改成:
ui->label->setText(trUtf8("你好,宋老师嵌入式");
一样乱码。
最后在帮助文档中发现以下方法,终于解决:
ui->label->setText(QTextCodec::codecForName("GBK")->toUnicode("你好,宋老师嵌入式"));
顺便说一下,我使用的是Mingw编译器。