1

我有一个带有 TreeView 和两个按钮(Gtk.ResponseType.CANCEL 和 Gtk.ResponseType.ACCEPT)的对话框窗口。当我在 Gtk.TreeView 中按 Enter 时,我找不到如何激活 ResponseType.ACCEPT 按钮。我在所需按钮上设置了 cant_datault 并在 GtkDialog 上设置了 set_default 但 Gtk.TreeView 没有激活默认方法。

有什么办法可以做到这一点吗?

4

1 回答 1

1

我能找到的最快方法是在 TreeView 中使用“行激活”信号。每当您按 Enter、双击某个项目或按空格键时,都会激活此功能。

例如:

treeview.connect("row-activated", lambda a, b, c: dialog.response(Gtk.ResponseType.ACCEPT))

我使用 lambda 来创建匿名函数,但如果您还有其他需要同时运行的东西,您可以将其换成适当的函数。

请注意,如果您将来还更改默认响应,则还需要更新此功能。

于 2013-03-29T23:49:22.543 回答