
中文:
unicode:\u4e2d\u6587
utf8:0xE4,0xB8,0xAD,0xE6,0x96,0x87
str 是UI上直接写中文,在这里获取得出的是unicode;
str1是得到unicode,相当于fromUtf8() 是将utf8转成unicode;
str2是得到utf8,因为文件编码是utf8;
str3是得到unicode;
ui->label->setText(str1)可以正确显示中文,而如果ui->label->setText(str2) 则乱码,说明设置文本应该使用unicode格式。
最后,如果是显示中文时没有乱码,而是不显示,那应该是和字体文件有关,可能是找不到字体,通过设置Qt的bin路径下的qtconfig改默认字体。

字体设置成Serif,这时中文不显示;

设置成Song Ti 就可以显示, 所以如果不显示,应该是加载字体失败或者该字体没有中文。
博客主要讲述了Qt开发中中文显示的相关问题。介绍了str、str1、str2、str3获取中文编码的情况,指出设置文本应使用unicode格式,否则会乱码。若中文不显示,可能与字体文件有关,可通过设置Qt的bin路径下的qtconfig改默认字体来解决。
3575

被折叠的 条评论
为什么被折叠?



