我有一个带有可编辑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方法是否适用于此。
欢迎所有建议,谢谢。
答案 0 :(得分:6)
def set_cursor(path, focus_column=None, start_editing=False)
...如果指定列,并且 start_editing 为True,则应在指定的单元格中开始编辑。此方法通常后跟
gtk.Widget.grab_focus()
方法,以便为树视图提供键盘焦点。