Установка делегата элемента для строк в QTreeView, когда дерево является динамическим - PullRequest
0 голосов
/ 03 февраля 2011

Я использую QTreeView для отображения иерархии элементов. Как то так

Child 1
Child 2
Child 3
   Child a
   Child b
   Child c
Child 4
   Child d

Хитрость заключается в следующем: дети ребенка 3, а ребенка 4 - это динамический список. Таким образом, под любым из них может быть любое количество детей. Я также хочу иметь возможность переименовывать каждый из узлов, но существуют разные правила того, как правильно называть детей Child 3 и Child 4.

Я начал устанавливать setItemDelegateForRow, но, конечно, это не работает, так как дочерние элементы перемещаются вверх и вниз по дереву, когда другие добавляются / удаляются.

Я надеялся, что есть способ приписать ItemDelegate к QStandardItem, но это не представляется возможным.

Есть предложения?

1 Ответ

1 голос
/ 03 февраля 2011

После долгих исследований и размышлений мы нашли решение, которое не является ужасным.

Мы добавляем проверку, когда выбор изменяется в дереве, и в зависимости от выбора мы вызываем setItemDelegate () и передаемтребуемый делегат для выбранного узла в дереве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...