标题:帮忙解释一下,绘制的文本是图片的效果
作者:fengwujiutan
日期:2019-06-25 11:19
内容:
请教一下,下面本是绘制一个文本信息,不明白为什么绘制的是一个相机的图片?请帮忙解释一下,谢谢
QPixmap pix(25, 25);
pix.fill(Qt::transparent);
QPainter painter;
painter.begin(&pix);
painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
painter.setPen(QColor(Qt::red));
painter.setBrush(QColor(Qt::green));
QFonticonFont.setPixelSize(25);
painter.setFont(iconFont);
QChar c = QChar(61488);
painter.drawText(pix.rect(), Qt::AlignCenter, c);
painter.end();
这里不太明白绘制QChar值,会出现图片,QChar值如何跟图片匹配的?谢谢
#1 [nigoole 06-25 12:04]
绘制的文本跟字体有关系~!
#2 回 nigoole 的帖子 [fengwujiutan 06-25 13:32]
nigoole:绘制的文本跟字体有关系~! (2019-06-25 12:04)
QChar(61488),不同的QChar值例如:61544,61535会显示不同的图片,这些值好像是跟图片是对应的,不明白原理
#3 [20091001753 06-25 17:53]
所以你的意思是,你想绘制的文本内容是“61488”?
那就直接写
painter.drawText(pix.rect(), Qt::AlignCenter, “61488”);
#4 [20091001753 06-25 18:05]
比如一段文字,QString = "你好"
QString里,每个字都是一个QChar
QString,QChar 的文字编码是 utf8
计算机只能识别数字,不同的数字代表不同的文字。
数字与文字的映射关系,就是文字编码。
对于 utf8 编码,20320 = 你,22909 = 好。
所以如下代码
QChar c(20320);
qDebug()
#5 回 20091001753 的帖子 [fengwujiutan 06-26 10:04]
20091001753:比如一段文字,QString = "你好"
QString里,每个字都是一个QChar
QString,QChar 的文字编码是 utf8
....... (2019-06-25 18:05)
谢谢您的回复,我明白了