2010-01-27 4 views
4

J'ai finalement réussi à changer l'arrière-plan d'un widget textview dans pygtk. Il s'avère que j'avais besoin d'utiliser le widget.modify_base(gtk.STATE_NORMAL, gtk.gdk.Color(0, 0, 0, 0)) qui se traduit par le fond noir désiré.pygtk: inverser les couleurs d'un widget textview

Maintenant, le reste du problème ... Maintenant, je veux changer la couleur du texte en blanc.

J'ai essayé tout, y compris widget.modify_fg et widget.modify_text et pourtant, rien ne semble changer la couleur du texte dans cette textview.

Voici mon code à textview J'ai maintenant

import gtk 
tv = gtk.TextView() 
tv.modify_base(gtk.STATE_NORMAL, gtk.gdk.Color(0,0,0,0)) 
tv.modify_text(gtk.STATE_NORMAL, gtk.gdk.Color(255,255,255,0)) 

Il en résulte la textview avec le bg noir ... Je veux ... mais le texte forground a besoin d'être blanc.

Des idées de ce que je dois faire?

Répondre

5

J'ai trouvé la réponse. C'est beaucoup plus simple que j'allais.

# Textview with inverted colors 
import gtk 

tv = gtk.TextView() 
tv.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse('black')) 
tv.modify_text(gtk.STATE_NORMAL, gtk.gdk.color_parse('white')) 

C'est tout !!!

+0

Cela dépend vraiment de quelles couleurs vous avez commencé à inverser, n'est-ce pas? –

+0

Oui, mais gtk.Textview utilise par défaut un fond blanc avec du texte noir. Tout comme n'importe quel autre widget éditeur de texte. –

Questions connexes