Como posso desabilitar “seleção clicando” no GTK treeview [closed]

0

Eu tenho este código onde recebo um treeview e um sinal quando clico ou movo o up / down sobre as linhas. Para o meu aplicativo eu preciso desabilitar a seleção quando o usuário clica em uma linha, ainda me pergunto se existe alguma maneira de bloquear a seleção para cima. Obrigado

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]
    
por Lexie 22.05.2015 / 19:26

1 resposta

1

Você pode usar o Gtk.TreeSelection.set_select_function funcionalidade para isso. Basicamente você dá uma função, cada vez que uma linha é selecionada esta função é chamada. Quando ele retorna False, a linha não pode ser selecionada.

Veja um exemplo:

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
    
por Timo 23.05.2015 / 13:06