Вы можете переопределить метод CellRendererText do_start_editing
, чтобы полностью изменить его поведение:
class CellRendererFile(gtk.CellRendererText):
def __init__(self):
gtk.CellRendererText.__init__(self)
self.props.editable = True
def do_start_editing(self, event, widget, path, background_area, cell_area, flags):
# TODO: Show dialog.
self.emit('edited', path, "TODO: Dialog output")
gobject.type_register(CellRendererFile)
А потом просто используйте нормально, подключитесь к «отредактированному» сигналу.