Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Перемещение QTreeWidgetItem в QTreeWidget
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
dimamix
Добрый день.
Начал писать плагин на питоне для Qgis.
В качестве gui используется QT.
Отображением дерева проекта заведует объект QTreeWidget.
QTreeWidgetItem - являются некие объекты "GROUP" и "LAYER" и возникла необходимость в построении развесистого дерева из этих объектов.

конкретный вопрос:
как можно у уже созданного QTreeWidgetItem-а изменить родителя (перевесить на другую ветку)

зы
на С читаю, со словарем :)
abc
перемещение мышкой? даже не знаю
не мышкой что-то вроде этого:
QTreeWidgetItem * QTreeWidgetItem::takeChild ( int index )
и возвращённый указатель отправить в:
void QTreeWidgetItem::insertChild ( int index, QTreeWidgetItem * child )
dimamix
Перемещение надо производить при помощи функций.

получилось переносить сложный объект layer между группами
при помощи
void QTreeWidgetItem::removeChild ( QTreeWidgetItem * child )
void QTreeWidgetItem::addChild ( QTreeWidgetItem * child )

group1.removeChild(currItem)
group2.addChild( currItem )


Пытался удалять из корня при помощи
void QTreeWidget::removeItemWidget ( QTreeWidgetItem * item, int column )

не получается...
abc
Цитата(dimamix @ 8.4.2011, 13:23) *
void QTreeWidget::removeItemWidget ( QTreeWidgetItem * item, int column )

в QTreeWidgetItem можно установить какой-нибудь виджет, вот его этот метод и удаляет, а не итему
итемы верхнего уровня (именно самого первого уровня) называются TopLevelItem
QTreeWidgetItem * QTreeWidget::takeTopLevelItem ( int index )
void QTreeWidget::addTopLevelItem ( QTreeWidgetItem * item )
dimamix
Спасибо. Все заработало!

currItem = self.legendTree.takeTopLevelItem( 0 )
# добавляем в нужную группу
group2.addChild( currItem )



Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.