Qt绘制多行文本的轮廓

3

QPainterPath可以绘制文本轮廓。

QPainter可以绘制多行文本。

是否有解决方案可以同时使用这两个功能?

我还查找了QLabel样式,但仍未找到任何与轮廓相关的内容。


你可以创建一个使用它的新类。另一个选项是尝试使用QGraphicsItem。 - Zharios
1个回答

0

很遗憾,在Qt 5.15中没有这样的函数。我编写了一个函数,将字符串分成多行,以空格或\r或\n为分隔符。一次循环处理一个单词,测量它直到它变得比所需宽度大(或者你遇到了换行符),然后回退一个单词,截断任何空格,并将其作为一行调用。将其放入您的行向量中。对于每一行重复此操作。然后在一个单独的函数中,您可以使用QPainterPath技术逐行绘制每一行,使用stroke/fill,每行垂直前进metrics.height()。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接