Запустите PyGTK cellrenderer для редактирования из кода
У меня есть дерево с редактируемым CellRendererText:
self.renderer = gtk.CellRendererText()
self.renderer.set_property('editable', True)
Но теперь мне нужно запустить редакцию из кода, а не из пользователя, чтобы сосредоточить внимание пользователя на том факте, что он только что создал новую строку и должен быть назван. Я пробовал это, но не работает:
self.renderer.start_editing(
gtk.gdk.Event(gtk.gdk.NOTHING),
self.treeview,
str(index),
gtk.gdk.Rectangle(),
gtk.gdk.Rectangle(),
0)
Ни один из них не выдает ошибок, но документация по поводу того, что является каждым аргументом, не ясна, на самом деле я действительно не знаю, предназначен ли метод start_editing для этого.
Все предложения приветствуются, спасибо.
1 ответ
Решение
def set_cursor(path, focus_column=None, start_editing=False)
... Если указан столбец, а start_editing имеет значение True, то редактирование следует начать в указанной ячейке. Этот метод часто сопровождается
gtk.Widget.grab_focus()
способ придать клавиатуре фокус древовидной структуре.