ich habe ein Problem mit dem gtk CellRendererToggle Widget. Dieses ist mit einer Funktion verbunden, dass bei einem Klick den Zustand von aktiv auf inaktiv ändert. Leider wird dieser Zustand dann in allen Zeilen angenommen. Ich bin da noch nicht ganz drin. Hier der Code:
Code: Alles auswählen
for n, header_text in enumerate(["Aktive", "Quantity", "Warning", "Sellout", "Keep"]):
if header_text in ["Aktive", "Sellout"]:
cell = gtk.CellRendererToggle()
cell.set_property('activatable', True)
cell.connect("toggled", self.on_sync_treeview_button_toggled, n, header_text)
column = gtk.TreeViewColumn(header_text, cell)
else:
cell = gtk.CellRendererText()
cell.set_property('editable', True)
column = gtk.TreeViewColumn(header_text, cell, text=n)
column.set_sort_column_id(n)
self.keep_sync_treeview.append_column(column)
mainbox_left.pack_start(self.keep_sync_treeview, False, False, 0)
for i in range(1,3):
self.keep_sync_liststore.append([False, 1, 10 ,20 False])
Code: Alles auswählen
def on_sync_treeview_button_toggled(self, widget, path, column, data):
widget.set_active( [True,False][widget.get_active()] )
self.keep_sync_liststore[path][column] = [True, False][widget.get_active()]
Freue mich auf eure Kommentare.