Название: QAbstractItemModel клонирование элемента. Отправлено: zdarovo от Февраль 18, 2010, 23:10 Есть ли возможность клонировать какой-то элемент в QTreeView.
Т.е есть у меня некоторый объект и ему должны соответствовать несколько разных элементов в таблице. Меня интересует, как при это определять родителя? Спасибо Название: Re: QAbstractItemModel клонирование элемента. Отправлено: BlackTass от Февраль 19, 2010, 20:37 Ну вообще если нужен клон то просто делаете копию и вставляете ее. А вот если это должен быть один объект... распишите лучше зачем вам такое поведение, вполне возможно это ошибка в архитектуре приложения.
Название: Re: QAbstractItemModel клонирование элемента. Отправлено: SABROG от Февраль 22, 2010, 20:53 Я не понял о чем идет речь, но например QStandardItem можно клонировать через QStandardItem::clone(), правда клонирует без детишек.
Название: Re: QAbstractItemModel клонирование элемента. Отправлено: zdarovo от Февраль 24, 2010, 13:36 Ну вообще если нужен клон то просто делаете копию и вставляете ее. А вот если это должен быть один объект... распишите лучше зачем вам такое поведение, вполне возможно это ошибка в архитектуре приложения. Хорошо опишу. Данное дерево представляет собой список задач, которые выполняются удаленно. Каждая задача может зависеть от любой другой. Именно эту зависимость я и хочу изобразить. Т.е. есть задача З1, З2, З3, З4. Задача З2 и З3 может зависеть от З1. Эти задачи не начнут выполняться до тех пор пока не выполнится З1. Соответственно чтобы пользователь понимал что происходит, эту зависимость я изображаю в виде дерева. Копировать можно, но это ресурсоемко, если можно так сказать. Задач может быть несколько тысяч, и все они могут зависеть от какой-то одной задачи, ну не копировать же мне их в самом-то деле. У меня есть мысли по этому поводу. Сделать класс, который будет содержать указатель на объект и затем создавать элементы относительно этого класса. В нем можно сделать указатель на родителя, на детей. Но все это не продумано и сыровато, как мне кажется. Я подумал что наверняка задача распространенная и есть какие-то стандартные средства. Название: Re: QAbstractItemModel клонирование элемента. Отправлено: voronElf от Февраль 24, 2010, 13:51 Цитировать Каждая задача может зависеть от любой другой. Другими словами, в виде дерева нужно отобразить структуру, которая деревом не является (м.б. несколько родителей у одного элемента) и поэтому нужны клоны ? Если так, то 2 подхода: копировать (плохой варант насчет тысячи задач), либо реализовать свою модель, преобразующую на уровне индексов модели эту запутанную структуру задач в дерево. Название: Re: QAbstractItemModel клонирование элемента. Отправлено: BlackTass от Февраль 24, 2010, 23:27 помоему это проще отображать графом через тот же GraphicsView (что будет достаточно наглядно), чем что-то химичить с копиями (что будет вряд ли понятно пользователю)
|