On 07/31/2013 09:03 PM, Yann Leboulanger wrote:
On 07/31/2013 07:33 PM, Timo wrote:
Op 31-07-13 13:48, Yann Leboulanger schreef:
On 01/29/2013 02:18 PM, Yann Leboulanger wrote:
Hi,

I'm trying to get the default / current background color of a textview.
The code I do it:

context = tv.get_style_context()
color = context.get_background_color(Gtk.StateFlags.NORMAL)

But that returns a fully transparent color (0,0,0,0)

If I first set a custom color with tv.override_background_color(), then
get_background_color() correctly works and returns the color I set.

So how can I get the current default color?


I still can't get it working with GTK-3.8.2 and python3-gi 3.8.3

Any idea?

Did you wait untill the treeview is realized?

treeview.connect('realize', get_bg_color)

def get_bg_color(widget):
     style = widget.get_style_context()
     bgcolor = style.get_background_color(Gtk.StateType.NORMAL)
     print(bgcolor)

Yes treeview is realized for sure, this code happens in a callback when
I press a key.


Here is a very simple scrpit that shows the problem. For me it prints:
<Gdk.Color(red=0.000000, green=0.000000, blue=0.000000, alpha=0.000000)>

--
Yann
from gi.repository import Gtk

def on_button_clicked(button, tv):
    style = tv.get_style_context()
    bgcolor = style.get_background_color(Gtk.StateType.NORMAL) 
    print(bgcolor) 

win = Gtk.Window()
vb = Gtk.VBox()
tv = Gtk.TextView()
vb.add(tv)
button = Gtk.Button('get bg')
vb.add(button)
button.connect('clicked', on_button_clicked, tv)

win.add(vb)
win.show_all()

win.connect('delete-event', Gtk.main_quit)

Gtk.main()
_______________________________________________
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to