如何在 GTK 树形视图上禁用“通过单击进行选择”

如何在 GTK 树形视图上禁用“通过单击进行选择”

我有一段代码,当我单击或上下移动行时,我会得到一个树形视图和一个标志。对于我的应用程序,我需要在用户单击一行时禁用选择,此外,我想知道是否有任何方法可以阻止向上选择。谢谢

treeview = builder.get_object('treeview3')
        treeview.set_model(liststore)
        select = treeview.get_selection()
        select.connect("changed", on_tree_selection_changed)

def on_tree_selection_changed(selection):
    model, treeiter = selection.get_selected()
    if treeiter != None:
        print "You selected", model[treeiter][0]

答案1

您可以使用Gtk.TreeSelection.set_select_function此功能。基本上,您给它一个函数,每次选择一行时都会调用此函数。当它返回 False 时,无法选择该行。

以下是一个例子:

treeview = builder.get_object("treeview3")
selection = treeview.get_selection()
selection.set_select_function(_select_func, None)

def _select_func(selection, model, path, selected, data):
    return False  # Can't select this row

相关内容