2010-07-31 3 views
7

J'ai une scène avec un multiple (QGraphicsTextItem), et j'ai besoin d'avoir le contrôle sur leurs couleurs, alors comment changer la couleur d'un QGraphicsTextItem? est-ce possible de toute façon? J'ai essayé pendant 3 jours jusqu'à maintenant. s'il vous plaît aidercomment changer la couleur d'un QGraphicsTextItem


merci à l'avance

Répondre

6

Je pense que vous pouvez changer la couleur du texte en appelant la méthode:

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

Vous avez un exemple here.

Ou cherchez Exemple de scénario de diagramme dans votre assistant Qt.

1

setDefaultTextColor (col) "Définit la couleur du texte non formaté sur col." La documentation n'est pas claire sur ce que signifie "texte non formaté". Je pense que cela signifie: "toutes les parties du contenu de l'article qui n'ont pas été stylées."

Le contenu est un QTextDocument.

Vous stylisez une partie d'un document à l'aide d'un QTextCursor. Vous ne pouvez pas le style de la QTextDocument en soi, seule une partie qui est sélectionnée par un QTextCursor (mais vous pouvez sélectionner tout le document.)

Vous pouvez définir le style d'un QTextCursor en utilisant la méthode mergeCharFormat (QTextCharFormat)

Le QTextCharFormat a méthodes:.

  • premier plan() setColor (QColor)
  • setForeground (QBrush)
  • setTextOutline (QPen)

Premier plan est un QBrush qui peint plusieurs choses, y compris « texte » (mais mieux dit: le remplissage des caractères)

Une nuance est que certains ont récemment construit QBrush (par défaut) QBrushStyle.NoBrush, qui est transparent , même si vous définissezCouleur().

Questions connexes