Запустите 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() способ придать клавиатуре фокус древовидной структуре.

Источник

Другие вопросы по тегам