Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QTreeView + QStandartItemModel
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
edwardoid
Как это использовать? Мне нужно обычнов дерево состоящее из айтемов типа [{name}{QWidget}]

parent QLabel
..|----child QComboBox
..|----child QSpinBox
..|----child QLineEdit
..|-----sub-parent QLabel
.........|----child QComboBox
.........|----child QSpinbox
....

Как сделать, или есть где-нибудь такое под LGPL/Apache?
Litkevich Yuriy
похоже тебе без создания наследника от представления (QTreeView) не обойтись. А это нигде в документации не описано - придётся постоянно подглядывать в исходник QTreeView.
edwardoid
Вроде так и сделал, я думал есть тропинка покороче :(
Litkevich Yuriy
Дело в том, если я правильно понял, ветвь дерева всегда содержит строго определённую последовательность виджетов, и каждая другая ветвь, содержит такую же последовательность. Делегатом такое не разрулить, т.к. в QTreeView делегат - строка, а не ячейка или колонка.

В наследнике нужно будет знать и поддерживать иерархию виджетов.


П.С.
Если данных мало, то тут проще будет реализовать через QTreeWidget.
edwardoid
На самом деле ветвь дерева хотелсоь бы сделать гибкой. там на самом деле уровень скореев сего будет такой

[root]
..|--[group]
..|....|--- [childs]
..|....L--- [subgrups]
..|.............|---[child] // таких child-ов может быть несколько
..|.............|---[child]
..|.............L---[child]
..|
..|--[group]
..|....|--- [childs] // таких тоже
..|....L--- [subgrups]
..|.............|---[child]
..|.............|---[child]
..|.............L---[child]
..|
....
Анна
Цитата(Litkevich Yuriy @ 24.6.2011, 10:54) *
... в QTreeView делегат - строка, а не ячейка или колонка...

Litkevich Yuriy, можно поподробнее об этом месте. Почему строка?

Не знаю, поможет ли такое соображение. Я в QStandardItem хранила указатель на виджет. В делегате можно этот виджет подсовывать в качестве редактора.

Litkevich Yuriy
Цитата(Анна @ 14.7.2011, 19:04) *
Litkevich Yuriy, можно поподробнее об этом месте. Почему строка?
Да, прошу прощения, делегата не трогать. Просто привык, что обычно спрашивают про QTreeWidget, а там QTreeWidgetItem - представляет строку, а не ячейку.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.