• 2436阅读
  • 5回复

[讨论]帮忙解释一下,绘制的文本是图片的效果 [复制链接]

上一主题 下一主题
离线fengwujiutan
 

只看楼主 倒序阅读 楼主  发表于: 2019-06-25

   请教一下,下面本是绘制一个文本信息,不明白为什么绘制的是一个相机的图片?请帮忙解释一下,谢谢
    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));

     QFont  iconFont.setPixelSize(25);
    painter.setFont(iconFont);

    QChar c = QChar(61488);
    painter.drawText(pix.rect(), Qt::AlignCenter, c);
    painter.end();

   这里不太明白绘制QChar值,会出现图片,QChar值如何跟图片匹配的?谢谢
没伞的孩子应努力奔跑
离线nigoole

只看该作者 1楼 发表于: 2019-06-25
绘制的文本跟字体有关系~!
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线fengwujiutan

只看该作者 2楼 发表于: 2019-06-25
回 nigoole 的帖子
nigoole:绘制的文本跟字体有关系~! (2019-06-25 12:04) 

QChar(61488),不同的QChar值例如:61544,61535会显示不同的图片,这些值好像是跟图片是对应的,不明白原理
没伞的孩子应努力奔跑
在线20091001753

只看该作者 3楼 发表于: 2019-06-25
所以你的意思是,你想绘制的文本内容是“61488”?
那就直接写
painter.drawText(pix.rect(), Qt::AlignCenter, “61488”);
(づ ̄ 3 ̄)づ
在线20091001753

只看该作者 4楼 发表于: 2019-06-25
比如一段文字,QString = "你好"

QString里,每个字都是一个QChar
QString,QChar 的文字编码是 utf8

计算机只能识别数字,不同的数字代表不同的文字。
数字与文字的映射关系,就是文字编码。

对于 utf8 编码,20320 = 你,22909 = 好。

所以如下代码
QChar c(20320);
qDebug()<<QString(c);
输出就是“你”
(づ ̄ 3 ̄)づ
离线fengwujiutan

只看该作者 5楼 发表于: 2019-06-26
回 20091001753 的帖子
20091001753:比如一段文字,QString = "你好"
QString里,每个字都是一个QChar
QString,QChar 的文字编码是 utf8
....... (2019-06-25 18:05) 

谢谢您的回复,我明白了
没伞的孩子应努力奔跑
快速回复
限100 字节
 
上一个 下一个