In meiner PyGTK-Anwendung verwende ich derzeit 'editable', um Zellen editierbar zu machen. Aber da meine Zellinhalte manchmal wirklich sehr groß sind, möchte ich den Benutzer in einem neuen Fenster nach Änderungen fragen, wenn er auf eine Zelle doppelklickt. Aber ich konnte nicht herausfinden, wie man bei Doppelklicks auf bestimmte Zellrenderer einen Hook setzt - ich möchte nicht die ganze Zeile bearbeiten und ich möchte diesen Callback auch nicht für die ganze Zeile setzen, sondern nur für Spalten, in denen zu lange Inhalte auftreten können. Wie kann ich dies mit CellRendererText() oder etwas ähnlichem tun.
Mein derzeitiger Code für die Zellengenerierung lautet:
cols[i] = gtk.TreeViewColumn(coltitle)
cells[i] = gtk.CellRendererText()
cols[i].pack_start(cells[i])
cols[i].add_attribute(cells[i], 'text', i)
cols[i].set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
cols[i].set_fixed_width(100)
cells[i].set_property('editable', True)
cells[i].connect('edited', self.edited, (i, ls))
cols[i].set_resizable(True)
mytreeview.append_column(cols[i])
Danke!