¿Cómo hacer que GtkListStore almacene el atributo de objeto en una fila?
Estoy tratando de mantener en ListStore los objetos que no son de texto usando el fragmento que encontré. Estos son los objetos:
class Series(gobject.GObject, object):
def __init__(self, title):
super(Series, self).__init__()
self.title = title
gobject.type_register(Series)
class SeriesListStore(gtk.ListStore):
def __init__(self):
super(SeriesListStore, self).__init__(Series)
self._col_types = [Series]
def get_n_columns(self):
return len(self._col_types)
def get_column_type(self, index):
return self._col_types[index]
def get_value(self, iter, column):
obj = gtk.ListStore.get_value(self, iter, 0)
return obj
Y ahora estoy tratando de hacer que TreeView lo muestre:
...
liststore = SeriesListStore()
liststore.clear()
for title in full_conf['featuring']:
series = Series(title)
liststore.append([series])
def get_series_title(column, cell, model, iter):
cell.set_property('text', liststore.get_value(iter, column).title)
return
selected = builder.get_object("trvMain")
selected.set_model(liststore)
col = gtk.TreeViewColumn(_("Series title"))
cell = gtk.CellRendererText()
col.set_cell_data_func(cell, get_series_title)
col.pack_start(cell)
col.add_attribute(cell, "text", 0)
selected.append_column(col)
...
Pero falla con errores:
GtkWarning: gtk_tree_view_column_cell_layout_set_cell_data_func: asercióninfo != NULL' failed<br>col.set_cell_data_func(cell, get_series_title) Warning: unable to set property
texto 'de tipogchararray' from value of type
data + TrayIcon + Series '
window.show_all () Advertencia: no se puede establecer la propiedadtext' of type
gchararray 'del valor del tipo' data + TrayIcon + Series '
gtk.main () gtk.main ()
¿Qué debo hacer para que funcione?