从代码启动PyGTK单元渲染器编辑
我有一个树形视图,里面有一个可以编辑的文本单元格:
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 个回答
6
def set_cursor(path, focus_column=None, start_editing=False)
... 如果指定了column,并且start_editing设置为True,那么编辑就应该在指定的单元格开始。这个方法通常会接着使用
gtk.Widget.grab_focus()
方法,以便将键盘焦点给树视图。