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.
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/