QT QItemSelectionModel para ignorar colunas?

Eu estou tentando restringir a seleção de uma árvore para uma coluna específica.

Eu estou usando delegados pesadamente para criar comportamentos personalizados por item por coluna, editores, etc. Eu estava esperando que eu poderia de alguma forma fazer isso de um delegado, bloqueando um evento ou algo similar. O problema é, eu acho que eu teria que criar uma solução totalmente personalizada que imita a seleção estendida.

No entanto, depois de muita pesquisa e muito poucos exemplos, parece que eu quero um personalizado QItemSelectionModel na minha visão de árvore. Esta suposição é correta?

Como faço para criar um personalizado QItemSelectionModel que usará o modo de seleção estendida, mas permita-me ignorar ou reverter uma seleção, se não em uma coluna específica. Em outras palavras, clicar em outra coluna não deve alterar a seleção (não deve selecionar ou desmarcar)

Eu sei como adicionar o modelo de seleção depois que eu o tiver. Estou pedindo ajuda para implementar a classe derivada (a menos que isso possa ser feito com um sinal conectado).

Estou usando o Python, mas valorizaria qualquer ajuda.

Obrigado,

[EDIT:] Eu encontrei estas questões semelhantes:http://lists.qt.nokia.com/pipermail/qt-interest/2010-Setembro/027647.html

"Subclasse QItemSelectionModel e reimplementar ambos os métodos de seleção para ter o comportamento desejado. Apenas ignore as partes dos intervalos com coluna> 0. ... Ou talvez apenas reimplique flags () para tornar o item não selecionável. Não sei se isso terá algum efeito colateral. "

Tentei reimplementar sinalizadores no meu QTreeWidgetItem, mas ele nunca foi chamado:

def flags(self, index):
    print index.column()
    return super(DDOutlinerBaseItem, self).flags(index)

questionAnswers(2)

yourAnswerToTheQuestion