Hi Dieter,

I just realized that your sample code displays a tooltip per row.
What I would like to do is display the tip per column.  So, if I'm in
column 3, I see "In column 3" or whatever, regardless of the row.  How
should I modify your sample code to do that?

On Fri, Dec 3, 2010 at 4:25 AM, Dieter Verfaillie
<[email protected]> wrote:
> Quoting "Gerald Britton" <[email protected]>:
>>
>> Hi -- I have a treeview where I want tooltips to display upon
>> mouse-hover.  I need help to see what I'm missing in this section
>> since the tips are not popping up:  ("columns" is a simple list of
>> column names)
>>
>>        self.view = gtk.TreeView()
>>        self.model = gtk.ListStore(*[str] * (len(columns) + 1))
>>        for index, name in enumerate(columns):
>>            renderer = gtk.CellRendererText()
>>            if index > 0:
>>                renderer.set_property('editable', True)
>>                renderer.connect('edited', self.__cell_edited,
>>                                                (self.model, index + 1))
>>            column = gtk.TreeViewColumn(name, renderer, text=index + 1)
>>            foo = gtk.Tooltip()
>>            foo.text = name
>>            self.view.append_column(column)
>>            self.view.set_tooltip_cell(foo, None, column, None)
>>
>
> Here's a working example:
>
> 8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<
> import gtk
>
> class TestWindow(gtk.Window):
>    def __init__(self):
>        gtk.Window.__init__(self)
>
>        column_types = [str, str, str]
>        columns = ['index', 'something', 'whatever']
>
>        self.model = gtk.ListStore(*column_types)
>        self.view = gtk.TreeView(self.model)
>        self.view.set_headers_visible(True)
>        self.view.set_has_tooltip(True)
>        self.view.connect('query-tooltip', self.on_query_tooltip)
>
>        for index, name in enumerate(columns):
>            renderer = gtk.CellRendererText()
>
>            if index > 0:
>                renderer.set_property('editable', True)
>
>            column = gtk.TreeViewColumn(name, renderer, text=index)
>            self.view.append_column(column)
>
>        self.model.append(['0', 'test', 'dfjqkm'])
>        self.model.append(['1', 'test', 'arearzer'])
>
>        self.add(self.view)
>        self.show_all()
>
>    def on_query_tooltip(self, widget, x, y, keyboard_tip, tooltip):
>        if not widget.get_tooltip_context(x, y, keyboard_tip):
>            return False
>        else:
>            model, path, iter = widget.get_tooltip_context(x, y,
> keyboard_tip)
>
>            tooltip.set_markup('<b>Value: %s</b>' % model.get_value(iter, 2))
>            widget.set_tooltip_cell(tooltip, path, None, None)
>            return True
>
>
> def quit(widget, event):
>    gtk.main_quit()
>
>
> if __name__ == '__main__':
>    window = TestWindow()
>    window.connect('delete-event', quit)
>
>    gtk.main()
> 8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>



-- 
Gerald Britton
_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to