如何更改 QGraphicsTextItem 的颜色

问题描述 投票:0回答:2

我有一个包含多个(QGraphicsTextItem)的场景,并且我需要控制它们的颜色,那么如何更改 QGraphicsTextItem 的颜色?无论如何有可能吗?到目前为止我已经尝试了3天了。请帮忙


预先感谢

python qt qt4 pyqt
2个回答
11
投票

我认为你可以通过调用方法来改变文本颜色:

void QGraphicsTextItem::setDefaultTextColor ( const QColor & col );

你有一个例子这里

或者在 Qt Assistant 中寻找图表场景示例


2
投票

setDefaultTextColor(col) “将无格式文本的颜色设置为 col。”该文档不清楚“无格式文本”的含义。 我认为这意味着:“该项目内容的所有部分尚未设置样式。”

内容是一个QTextDocument。

您可以使用 QTextCursor 设置文档的一部分的样式。 您无法设置 QTextDocument 本身的样式,只能设置 QTextCursor 选择的一部分(但您可以选择整个文档。)

您可以使用方法 mergeCharFormat(QTextCharFormat) 来设置 QTextCursor 的样式

QTextCharFormat 有方法:

  • foreground().setColor(QColor)
  • 设置前景(QBrush)
  • 设置文本轮廓(QPen)

前景是一个 QBrush,可以绘制包括“文本”在内的多种内容(但更好的说法是:字符的填充?)

一个细微差别是某些新构建的 QBrush 具有(默认为)QBrushStyle.NoBrush,即使您设置了 Color(),它也是透明的。

© www.soinside.com 2019 - 2024. All rights reserved.