我有一个包含多个(QGraphicsTextItem)的场景,并且我需要控制它们的颜色,那么如何更改 QGraphicsTextItem 的颜色?无论如何有可能吗?到目前为止我已经尝试了3天了。请帮忙
预先感谢
我认为你可以通过调用方法来改变文本颜色:
void QGraphicsTextItem::setDefaultTextColor ( const QColor & col );
你有一个例子这里。
或者在 Qt Assistant 中寻找图表场景示例。
setDefaultTextColor(col) “将无格式文本的颜色设置为 col。”该文档不清楚“无格式文本”的含义。 我认为这意味着:“该项目内容的所有部分尚未设置样式。”
内容是一个QTextDocument。
您可以使用 QTextCursor 设置文档的一部分的样式。 您无法设置 QTextDocument 本身的样式,只能设置 QTextCursor 选择的一部分(但您可以选择整个文档。)
您可以使用方法 mergeCharFormat(QTextCharFormat) 来设置 QTextCursor 的样式
QTextCharFormat 有方法:
前景是一个 QBrush,可以绘制包括“文本”在内的多种内容(但更好的说法是:字符的填充?)
一个细微差别是某些新构建的 QBrush 具有(默认为)QBrushStyle.NoBrush,即使您设置了 Color(),它也是透明的。