Qt为多行文字绘制轮廓

时间:2018-07-30 06:37:41

标签: c++ qt text outline

QPainterPath可以为文本绘制轮廓

QPainter可以绘制多行文字

有什么解决方案可以同时使用这两个功能吗?

我还寻找了QLabel样式,但仍然没有找到任何与轮廓相关的东西。

1 个答案:

答案 0 :(得分:0)

不幸的是,至少在Qt 5.15中没有这样的功能。我所做的是写了一个函数,该函数接受一个字符串并将其分成多行,以空格或\ r或\ n分隔。一次在字符串上循环一个单词,直到它变得大于所需的宽度(或者您碰到换行符)为止,然后对其进行备份,然后备份一个单词,截断任意空格并调用该行。将其粘贴到行向量中。对每一行重复。然后在一个单独的函数中,您可以使用QPainterPath技术中的笔触/填充一次绘制每条线,并按metrics.height()垂直前进