Название: Как в QTreeWidget редактировать конкретный item, не зная его индекс? Отправлено: billy4685 от Апрель 08, 2015, 14:59 Здравствуйте, заинтересовал такой вопрос. Как в QTreeWidget редактировать конкретный item, не зная его индекс? Нет ли qt-ой функции для изменение одного item-а другим (чтобы не требовала указывать индекс)? Также интересует вопросы: как удалять конкретный item? как добавлять item в конец? Просто нахожу в qt только подобные функции, где в качестве параметров задаются индекс и сам item.
Название: Re: Как в QTreeWidget редактировать конкретный item, не зная его индекс? Отправлено: billy4685 от Апрель 08, 2015, 15:05 Ах да, так же интересует вопрос: "Как добавить item в QTreeWidget после конкретного item-а, не зная индекс второго?".
Название: Re: Как в QTreeWidget редактировать конкретный item, не зная его индекс? Отправлено: Zerkin от Апрель 08, 2015, 16:01 Конкретизируйте ситуацию, из-за которой вы не знаете индекс уже присутствующего элемента в дереве. Мне кажется это странным. ???
Название: Re: Как в QTreeWidget редактировать конкретный item, не зная его индекс? Отправлено: Zerkin от Апрель 08, 2015, 16:06 Здравствуйте, заинтересовал такой вопрос. Как в QTreeWidget редактировать конкретный item, не зная его индекс? Нет ли qt-ой функции для изменение одного item-а другим (чтобы не требовала указывать индекс)? Также интересует вопросы: как удалять конкретный item? как добавлять item в конец? Просто нахожу в qt только подобные функции, где в качестве параметров задаются индекс и сам item. У стандартного QTreeWidgetItem'a нету методов для работы с сиблингами, только с чайлдами. Но всё возможно сделать через parent'ов и topLevelItems. У самого QTreeWidget есть следующие механизмы, с помощью которых можно к элементам обратиться: Код
Название: Re: Как в QTreeWidget редактировать конкретный item, не зная его индекс? Отправлено: gil9red от Апрель 08, 2015, 16:18 Как в QTreeWidget редактировать конкретный item, не зная его индекс? http://doc.qt.io/qt-4.8/qtreewidget.html#editItemНет ли qt-ой функции для изменение одного item-а другим (чтобы не требовала указывать индекс)? Что вы подразумеваете?как удалять конкретный item? Набросал в браузере алгоритм:Код
как добавлять item в конец? Набросал в браузере алгоритм:Код
Цитата: billy4685 Ах да, так же интересует вопрос: "Как добавить item в QTreeWidget после конкретного item-а, не зная индекс второго?". Так же как и добавление в конец, но используйте функцию insert* как найти индекс элемента вы знаетеНазвание: Re: Как в QTreeWidget редактировать конкретный item, не зная его индекс? Отправлено: billy4685 от Апрель 08, 2015, 16:39 Конкретизируйте ситуацию, из-за которой вы не знаете индекс уже присутствующего элемента в дереве. Мне кажется это странным. ??? Да просто переписываю прогу со среды Photon Application Builder на Qt. А там как раз в PtTree (аналог QTreeWidget) при добавлении, удалении, редактировании PtTreeItem (аналог QTreeWidgetItem) требует item. Ну вот к примеру некоторые из методов из Photon:1. Создание нового item-а (здесь wgt_tree - PtTree; str - char*; attr - PtTreeAttribute_t - атрибуты для PtTree;): Код: PtTreeItem_t *new_item; Код: PtTreeAddAfter(wgt_tree, item, brother); Код: PtTreeAddFirst(wgt_tree, item, brother); Код: PtTreeRemoveItem(wgt_tree, item); Код: PtTreeChangeItem(wgt_tree , item, str, attr); Название: Re: Как в QTreeWidget редактировать конкретный item, не зная его индекс? Отправлено: Zerkin от Апрель 08, 2015, 16:42 gil9red вам, в принципе, описал как всё это реализовать. Смотрите parent и topLevelItem.
Название: Re: Как в QTreeWidget редактировать конкретный item, не зная его индекс? Отправлено: billy4685 от Апрель 08, 2015, 16:44 gil9red вам, в принципе, описал как всё это реализовать. Смотрите parent и topLevelItem. gil9red, огромное спасибо) просто писал последнее сообщение) и увидел Ваше, уже после того как отправил. Буду реализовывать. |