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