[PyGTK] forbid focus of TreeView columns

Franck Pommereau Franck.Pommereau at noos.fr
Mon Feb 21 05:02:47 EST 2005


Hi all,

I'm building a PyGTK interface in which I would like that no widget 
would be able to get the focus (and so to be activated by pressing the 
Return key). For this purpose, for each widget, I do:

     widget.set_property("can-focus", gtk.FALSE)

My problem is a TreeView which has a clickable column, it get the 
default focus and I did not find how to forbid that.

I tried:

     def focus (widget, *args) :
         try :
             widget.set_property("can-focus", gtk.FALSE)
         except :
             pass
         try :
             widget.set_property("can-default", gtk.FALSE)
         except :
             pass
     win.forall(focus)

where win is my application window (I also tried on the TreeView) but it 
doesn't work.  :-(
I also tried with widget.unset_flags, same result.  :-((

If I choose another widget and give it the default focus 
(widget.grab_default and widget.grab_focus) it's OK until I click on the 
column which then keeps the focus.  :-(((

I'm sure I could capture the Return key but I don't want to have this 
dashed line around the focused widget...

I think that this column has somewhere an associated widget but I could 
not find it anywhere (and neither could win.forall).

I'm using PyGTK-2.0.0 and cannot use another version.

Thanks in advance for any idea!
Franck



More information about the Python-list mailing list