gtk treeview: разместить кнопки изображения на строках
для каждой строки в моем treeview я хочу 4 кнопки изображения рядом друг с другом. Они будут действовать как переключатели, только один из которых активируется одновременно. Каждая кнопка имеет изображение " on " и "off".
Как это сделать? Я выяснил, как поместить туда изображения и как поставить кнопки, но это, похоже, требует дополнительных усилий, поскольку нет предварительно построенного cellrenderer, который делает то, что я хочу.
в основном, что бы решить мою проблему-выяснить, как сделать изображение в gtk.treeview
кликабельно. есть идеи?
3 ответов
взгляните на это 'http://www.daa.com.au/pipermail/pygtk/2010-March/018355.html'. Он показывает вам, как сделать gtk.Cellrendererpixbuf активируется и может подключаться к сигналу события щелчка.
cell = CellRendererPixbufXt()
cell.connect('clicked', func)
обновление
как указано в этом ответе, или приведенная ссылка не работает так, как объявлено. В нем отсутствует метод do_activate,который должен излучать сигнал щелчка. Как только это будет сделано, тогда и камера.подключить работа.
Извините, если этот ответ вводит в заблуждение кого-либо.
вот короткая версия без kiwi
требование.
class CellRendererClickablePixbuf(gtk.CellRendererPixbuf):
__gsignals__ = {'clicked': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
(gobject.TYPE_STRING,))
}
def __init__(self):
gtk.CellRendererPixbuf.__init__(self)
self.set_property('mode', gtk.CELL_RENDERER_MODE_ACTIVATABLE)
def do_activate(self, event, widget, path, background_area, cell_area,
flags):
self.emit('clicked', path)
вот что сработало для меня:
class CellRendererClickablePixbuf(gtk.CellRendererPixbuf):
gsignal('clicked', str)
def __init__(self):
gtk.CellRendererPixbuf.__init__(self)
self.set_property('mode', gtk.CELL_RENDERER_MODE_ACTIVATABLE)
def do_activate(self, event, widget, path, background_area, cell_area, flags):
self.emit('clicked', path)