Необходимо, чтобы в 4 из них можно было вносить изменения.
В примере рассмотрен случай для двух столбцов, один из которых неимзеняемый.
Как добавить возможность редактирвоания нескольких столбцов?
class CellRendererTextWindow(Gtk.Window, Parse): def __init__(self): Gtk.Window.__init__(self, title="strekoza") self.set_default_size(400, 200) hb = Gtk.HeaderBar() hb.props.show_close_button = True hb.props.title = "Strekoza's parser" self.set_titlebar(hb) self.box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) self.button = Gtk.Button("Get rules") self.button.connect("clicked", self.on_click_me_clicked) self.box.pack_start(self.button, True, True, 0) self.liststore = Gtk.ListStore(str, str, str, str, str) treeview = Gtk.TreeView(model=self.liststore) renderer_text = Gtk.CellRendererText() column_text = Gtk.TreeViewColumn("id", renderer_text, text=0) treeview.append_column(column_text) renderer_editabletext = Gtk.CellRendererText() renderer_editabletext.set_property("editable", True) column_editabletext = Gtk.TreeViewColumn("link", renderer_editabletext, text=1) treeview.append_column(column_editabletext) column_editabletext = Gtk.TreeViewColumn("ruleLink", renderer_editabletext, text=2) treeview.append_column(column_editabletext) column_editabletext = Gtk.TreeViewColumn("ruleTitle", renderer_editabletext, text=3) treeview.append_column(column_editabletext) column_editabletext = Gtk.TreeViewColumn("ruleDate", renderer_editabletext, text=4) treeview.append_column(column_editabletext) renderer_editabletext.connect("edited", self.text_edited) self.treeiter = self.liststore.append(list(self.getRules())) #вставляет данные из БД hb.pack_end(self.box) self.add(treeview) def text_edited(self, widget, path, text): self.liststore[path][1] = text # вставляет измененный текст во второй столбец