前言
最近需要写一个关于qt 表情包的项目 表情包除了有gif 和 png 形式,还有unicode编码形式的表情包,图片的很好搞定,就是unicode的一时没什么思路,其实实现起来非常简单。
一、实现方式
通过将表情字符unicode编码转成QString的形式插入到文本框中,QLabel QLineEdit QTextEdit 都支持这种方式。使用这种方式可以更好的跨平台。不同平台(windows mac Android ,,)的显示图标也不一样,但是风格都是统一的,可以参考:https://emojipedia.org/grinning-face/
关键函数
QString::fromUcs4(char32_t *t); //这个函数可以直接上unicde编码直接转成QString的字符串形式
二、代码
char32_t t[] = {0x1F601,0x0}; //加上0x00是为了防止表情后面跟随乱码
for(char32_t i = 0x1F601 ; i <= 0x1F64F ; ++i)
{
t[0] = i ;
ui->textBrowser->insertPlainText(QString::fromUcs4(t));
}