QT QItemSelectionModel, aby zignorować kolumny?

Próbuję ograniczyć wybór drzewa do konkretnej kolumny.

Używam delegatów mocno do tworzenia niestandardowych zachowań, pozycji edytorów itp. Na kolumnę. Miałem nadzieję, że uda mi się jakoś to zrobić od delegata, blokując wydarzenie lub coś podobnego. Problem polega na tym, że myślę, że musiałbym stworzyć całkowicie niestandardowe rozwiązanie, które naśladuje rozszerzony wybór.

Jednak po wielu poszukiwaniach i bardzo niewielu przykładach brzmi to jak chcę niestandardowego QItemSelectionModel na moim widoku drzewa. Czy to założenie jest poprawne?

Jak utworzyć niestandardowy QItemSelectionModel, który będzie korzystał z trybu rozszerzonego wyboru, ale pozwoli mi zignorować lub przywrócić zaznaczenie, jeśli nie jest w konkretnej kolumnie. Innymi słowy, kliknięcie innej kolumny nie powinno zmieniać wyboru (nie należy zaznaczać ani odznaczać)

Wiem, jak dodać model wyboru, gdy już go mam. Proszę o pomoc w implementacji klasy pochodnej (chyba że można to zrobić za pomocą podłączonego sygnału).

Używam Pythona, ale cenię sobie wszelką pomoc.

Dziękuję Ci,

[EDIT:] Znalazłem te podobne pytania:http://lists.qt.nokia.com/pipermail/qt-interest/2010-September/027647.html

"Podklasa QItemSelectionModel i ponownie zastosuj obie metody wyboru, aby uzyskać pożądane zachowanie. Po prostu zignoruj ​​części zakresów z kolumną> 0. ... lub po prostu ponownie zaimplementuj flagi (), aby nie można było wybrać elementu. Nie wiem, czy to będzie miało jakieś skutki uboczne. ”

Próbowałem ponownie implementować flagi na moim QTreeWidgetItem, ale nigdy nie został wywołany:

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

questionAnswers(2)

yourAnswerToTheQuestion