как изменить цвет QGraphicsTextItem - PullRequest
8 голосов
/ 31 июля 2010

У меня есть сцена с несколькими (QGraphicsTextItem) s, и мне нужно иметь контроль над их цветами, так как изменить цвет QGraphicsTextItem? это все равно возможно? Я пытался в течение 3 дней до сих пор. пожалуйста помогите


заранее спасибо

Ответы [ 2 ]

7 голосов
/ 31 июля 2010

Я думаю, что вы можете изменить цвет текста, вызвав метод:

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

У вас есть пример здесь .

Или ищите Пример сцены с диаграммой в вашем Qt Assistant.

2 голосов
/ 24 сентября 2012

setDefaultTextColor (col) "Устанавливает цвет для неформатированного текста в столбец."В документации не ясно, что означает «неформатированный текст».Я думаю, это означает: «все части содержимого элемента, которые не были стилизованы».

Содержимое является QTextDocument.

Вы оформляете часть документа, используя QTextCursor.Вы не можете стилизовать QTextDocument как таковой, только часть, выбранную QTextCursor (но вы можете выбрать весь документ.)

Вы можете стилизовать QTextCursor, используя метод mergeCharFormat (QTextCharFormat)

QTextCharFormat имеет методы:

  • foreground (). SetColor (QColor)
  • setForeground (QBrush)
  • setTextOutline (QPen)

Передний план - это QBrush, который рисует несколько вещей, включая «текст» (но лучше сказать: заполнение символов?)

Один нюанс заключается в том, что некоторые вновь созданные QBrush имеют (по умолчанию) QBrushStyle.NoBrush, которыйпрозрачно, даже если вы установили Color ().

...