Qt如何绘制文字轮廓

问题遇到的现象和发生背景

网上搜索的这个不行:
ui->textEdit->setFontPointSize(50);
QTextCharFormat format;
format.setTextOutline (QPen (Qt::red, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); // Color and width of outline
ui->textEdit->mergeCurrentCharFormat(format);

使用 QPainterPath 来 addText 再使用 QPainter drawPath。

img

1、使用QPainter类的drawText方法,在参数中添加Qt::TextStrokeFlag标志。

2、使用QPainterPath类的addText方法,在参数中添加Qt::TextStrokeFlag标志。

3、使用QPen类的setWidth方法设置描边宽度,然后使用QPainter类的drawText方法来绘制文字轮廓。

4、使用QPen类的setWidth方法设置描边宽度,然后使用QPainterPath类的addText方法来绘制文字轮廓。

我使用的是QPainterPath类的addText来设置绘制路径,之后使用QPainter的strokePath来设置轮廓的绘制路径和画笔,最后使用QPainter的fillPath进行绘制。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^