QT绘制彩色文本

5
我使用 QPainter 在 QPrinter 上绘制文本,然而存在一个问题,我希望能够绘制彩色文本,例如绘制 "Hello World",其中 "H" 是绿色,"ello" 是黄色,"World" 是蓝色。
目前,我需要调用 drawText 三次并使用不同的 QPen 来改变颜色。此外,我必须计算在三个位置上绘制文本。最后,我无法让字符串在 QRect 中对齐,因为我没有绘制完整的句子。是否有一种简单的方法来解决这个问题?任何提示都将不胜感激!谢谢!
1个回答

4
您可以通过将html直接编写到文本字符串中来实现此操作,并包括颜色的CSS规范。 窗口小部件文本中的Html 使用html style标签访问html中的CSS
编辑:要在QPaintDevice上实现这一点,请使用QPainter::drawStaticText()。它的工作方式类似于drawText,但默认情况下读取富文本。您需要#include <QStaticText>来使用它。

我在 QPrinter 上绘制一些东西,因为我想制作一个 PDF 文件。QPainter 可以使用富文本吗? - Arton
@Anton,请看我的编辑,我已经确认这在我的代码中可以工作。 - Matt Phillips

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