• 4408阅读
  • 7回复

[提问]Qt中文显示 [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 楼主  发表于: 2013-04-29
— 本帖被 jdwx 执行合并操作(2013-04-29) —
小妹最近学习Qt,遇到一个问题一直没法解决,求教各位大哥大姐帮忙
我通过串口收到一组数组
unsigned char str[]={0xD5,0xC5,0xC0,0xF6,0xC0,0xF2};
我想把这个数组显示成为中文,放在nameLabel中,但是一直没办法弄成功
QLabel nameLabel;
nameLabel->setText();
求教各位高人帮忙
小妹万分感谢
只看该作者 1楼 发表于: 2013-04-29
关于unsigned char数组显示中文
小妹最近学习Qt,遇到一个问题一直没法解决,求教各位大哥大姐帮忙我通过串口收到一组数组unsigned char str[]={0xD5,0xC5,0xC0,0xF6,0xC0,0xF2};我想把这个数组放在nameLabel中显示出中文QLabel nameLabel;nameLabel->setText();
这个setText中需要的参数是QString,我试过很多方法都没办法成功求教各位高人帮忙小妹万分感谢
只看该作者 2楼 发表于: 2013-04-29
小妹最近学习Qt,遇到一个问题一直没法解决,求教各位大哥大姐帮忙
我通过串口收到一组数组unsigned char str[]={0xD5,0xC5,0xC0,0xF6,0xC0,0xF2};
我想把这个数组放在nameLabel中显示出中文
QLabel nameLabel;
nameLabel->setText();
这个setText中需要的参数是QString,
我试过很多方法都没办法成功
求教各位高人帮忙
小妹万分感谢
离线jdwx

只看该作者 3楼 发表于: 2013-04-29
回 2楼(我是一片云) 的帖子
这样可以正常显示:
unsigned char str[]={0xD5,0xC5,0xC0,0xF6,0xC0,0xF2,0x00};
qDebug() << QString::fromLocal8Bit((char*)str);
输出:"张丽莉"
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线zhy0808

只看该作者 4楼 发表于: 2013-04-29
把字符放入QByteArray,然后转成QString
只看该作者 5楼 发表于: 2013-04-29
回 3楼(jdwx) 的帖子
我是想把这个输出到QLabel当中来显示
只看该作者 6楼 发表于: 2013-04-29
回 4楼(zhy0808) 的帖子
       unsigned char str[6]={0xD5,0xC5,0xC0,0xF6,0xC0,0xF2};
        QByteArray s;
        s.resize(6);
        s[0]=str[0];
        s[1]=str[1];
        s[2]=str[2];
        s[3]=str[3];
        s[4]=str[4];
        s[5]=str[5];

        nameLabel->setText(s);

问题解决
能显示出中文来了,呵呵,多谢了
离线wjepdb

只看该作者 7楼 发表于: 2013-05-01
Re:回 4楼(zhy0808) 的帖子
引用第6楼我是一片云于2013-04-29 09:42发表的 回 4楼(zhy0808) 的帖子 :
       unsigned char str[6]={0xD5,0xC5,0xC0,0xF6,0xC0,0xF2};
        QByteArray s;
        s.resize(6);
        s[0]=str[0];
        s[1]=str[1];
.......


你这个解决方法真特别
快速回复
限100 字节
 
上一个 下一个