2010-07-31 21 views
7

ho una scena con un multiplo (QGraphicsTextItem) s, e ho bisogno di avere il controllo sui loro colori, quindi come cambiare un colore di un QGraphicsTextItem? è possibile comunque? Ho provato per 3 giorni fino ad ora. si prega di aiutarecome cambiare il colore di un QGraphicsTextItem


grazie in anticipo

risposta

6

Penso che si può cambiare il colore del testo chiamando il metodo:

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

Hai un esempio here.

O cercando Esempio di scena diagramma nell'Assistente Qt.

1

setDefaultTextColor (col) "Imposta il colore per il testo non formattato su col." La documentazione non è chiara su cosa significhi "testo non formattato". Penso che significhi: "tutte le parti del contenuto dell'articolo che non sono state disegnate".

Il contenuto è un QTextDocument.

Si disegna una parte di un documento utilizzando un QTextCursor. Non è possibile lo stile del QTextDocument di per sé, solo una parte che viene selezionato da un QTextCursor (ma è possibile selezionare l'intero documento.)

È possibile lo stile di un QTextCursor utilizzando il metodo mergeCharFormat (QTextCharFormat)

Il QTextCharFormat ha metodi:.

  • primo piano() setColor (QColor)
  • setForeground (QBrush)
  • setTextOutline (QPen)

primo piano è un QBrush che dipinge diverse cose tra cui "testo" (ma meglio dire:? Il riempimento di caratteri)

Una sfumatura è che alcuni di nuova costruzione QBrush hanno (di default) QBrushStyle.NoBrush, che è trasparente , anche se si impostaColor().

Problemi correlati