我是靠谱客的博主 要减肥未来,最近开发中收集的这篇文章主要介绍QPainter绘画一段带多种颜色样式的文本,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

int pos = text.indexOf(keyWord, 0, Qt::CaseInsensitive);
QString text_one = text.mid(0, pos);
QString strElidedText_one = fm.elidedText(text_one, Qt::ElideRight, fm.width(text_one), Qt::TextShowMnemonic);
painter->setPen(QPen(QColor(255, 255, 255)));
painter->drawText(QRect(x + 80, y + 15, width, height), strElidedText_one);
int len = fm.width(strElidedText_one);
QString strElidedText_keyWord = fm.elidedText(keyWord, Qt::ElideRight, fm.width(keyWord), Qt::TextShowMnemonic);
painter->setPen(QPen(QColor(14, 242, 209)));
painter->drawText(QRect(x + 80 + len, y + 15, width, height), strElidedText_keyWord);
QString text_two = text.mid(pos + keyWord.size());
if (!nickName_two.isEmpty()) {
len = len + fm.width(strElidedText_keyWord);
QString strElidedText_two = fm.elidedText(text_two, Qt::ElideRight, fm.width(text_two), Qt::TextShowMnemonic);
painter->setPen(QPen(QColor(255, 255, 255)));
painter->drawText(QRect(x + 80 + len, y + 15, width, height), strElidedText_two);
}

目前我采取的方法就是 先确定需要修改颜色的字段,然后从文本获取到改字段位置,然后截取前后字段,分别用QPainter去绘画这些字段对应的文本。
该方法只能凸出某个文本内某字段第一次出现的时候修改其颜色样式。
如若有更好的办法,望告知,谢谢~

最后

以上就是要减肥未来为你收集整理的QPainter绘画一段带多种颜色样式的文本的全部内容,希望文章能够帮你解决QPainter绘画一段带多种颜色样式的文本所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部