如何在QGraphicsScene上绘制彩色文字?

时间:2011-12-10 16:49:34

标签: c++ qt

我一直在寻找QGraphicsTextItem::setPen(),甚至是QFont::setColor()QFont::setForegroundColor()等选项。它们都不存在。

如何在QGraphicsScene上绘制彩色文字?我不想使用QGraphicsTextItem::setHtml()并使用HTML来做到这一点(不确定这是否可行)。

我正在使用Qt 4.7.4。

3 个答案:

答案 0 :(得分:3)

您是否正在寻找setPlainText()setDefaultTextColor()的组合?

http://doc.qt.io/archives/qt-4.7/qgraphicstextitem.html#setPlainText

http://doc.qt.io/archives/qt-4.7/qgraphicstextitem.html#setDefaultTextColor

如果没有,我不确定我理解你的问题......

答案 1 :(得分:3)

scene.addText(tr("Hello World"))->setDefaultTextColor(Qt::white);

答案 2 :(得分:1)

QGraphicsTextItem有一个palette方法,它返回QPaletteQPalette有一个setColor方法,它扮演一个角色。

void QPalette::setColor ( ColorRole role, const QColor & color )

The role you want is

QPalette::Text  The foreground color used with Base. 
This is usually the same as the WindowText, in which case it must provide 
good contrast with Window and Base.