从代码启动 PyGTK cellrenderer 编辑

发布于 2024-08-27 20:32:18 字数 496 浏览 10 评论 0原文

我有一个带有可编辑 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 方法是否适用于此。

欢迎所有建议,谢谢。

I have a treeview with an editable CellRendererText:

self.renderer = gtk.CellRendererText()
self.renderer.set_property('editable', True)

But now I need to launch the edition from code instead from user, this is to focus the user attention in the fact he just created a new row and needs to be named. I tried this but does not work:

self.renderer.start_editing(
    gtk.gdk.Event(gtk.gdk.NOTHING),
    self.treeview,
    str(index),
    gtk.gdk.Rectangle(),
    gtk.gdk.Rectangle(),
    0)

Neither does not throw errors, but the documentation about for what is each argument is not clear, in fact I really don't know if start_editing method is for this.

All suggestions are welcome, thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

送君千里 2024-09-03 20:32:18
def set_cursor(path, focus_column=None, start_editing=False)

...如果指定了column,并且start_editing为True,则应在指定的单元格中开始编辑。此方法后面通常会跟有 gtk.Widget.grab_focus() 方法,以将键盘焦点赋予树视图。

来源

def set_cursor(path, focus_column=None, start_editing=False)

... If column is specified, and start_editing is True, then editing should be started in the specified cell. This method is often followed by the gtk.Widget.grab_focus() method to give keyboard focus to the treeview.

Source

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文