qt绘制彩色文本

时间:2012-02-10 16:43:30

标签: qt drawtext richtext

我使用QPainter在QPrinter上绘制文本;但是,有一个问题。我希望我能画出丰富多彩的文字。例如,绘制“Hello World”,其中“H”为绿色,“ello”为黄色,“World”为蓝色。
  暂时,我调用drawText 3次并使用不同的QPen来改变颜色。而且,我必须计算3次抽签的位置。最后,我无法在QRect中对齐一个字符串,因为我没有画出完整的句子。有没有办法用简单的方法解决它?任何提示都表示赞赏!谢谢!

1 个答案:

答案 0 :(得分:4)

您可以通过在文本字符串中直接编写html来实现此目的,包括CSS的颜色规范。

Html in widget text

CSS within the html使用html style标记来访问此内容。

修改:要在QPaintDevice上进行修改,请使用QPainter::drawStaticText()。它的工作方式与drawText类似,但默认情况下会读取富文本。您需要#include <QStaticText>才能使用它。

相关问题