QT QItemSelectionModel игнорировать столбцы?
Я пытаюсь ограничить выбор дерева для определенного столбца.
Я интенсивно использую делегатов для создания пользовательских поведений для каждого элемента в столбце, редакторов и т. Д. Я надеялся, что смогу как-то сделать это из делегата, заблокировав событие или что-то подобное. Проблема, я думаю, мне нужно было бы создать полностью индивидуальное решение, которое имитирует расширенный выбор.
Тем не менее, после долгих поисков и очень немногих примеров, звучит так, будто я хочу создать собственную QItemSelectionModel в своем древовидном представлении. Это предположение верно?
Как мне создать пользовательский QItemSelectionModel, который будет использовать расширенный режим выбора, но позволит мне игнорировать или отменить выбор, если не в конкретном столбце. Другими словами, нажатие на другой столбец не должно изменять выбор (не должен выделять или отменять выбор)
Я знаю, как добавить модель выбора, когда она у меня есть. Я прошу помощи в реализации производного класса (если это не может быть сделано с подключенным сигналом).
Я использую Python, но оценил бы любую помощь.
Спасибо,
[EDIT:] Я нашел эти похожие вопросы: http://lists.qt.nokia.com/pipermail/qt-interest/2010-September/027647.html
& Quot;Subclass QItemSelectionModel and reimplement both select methods to have the behaviour you want. Just ignore the parts of ranges with column > 0. ... Or maybe just reimplement flags() to make the item not selectable. I don't know if that will have any side effects."
Я попытался переопределить флаги на моем QTreeWidgetItem, но он никогда не вызывался:
def flags(self, index):
print index.column()
return super(DDOutlinerBaseItem, self).flags(index)