Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Перемещение элементов в QTreeWidget или QTreeView
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
Михаил
Как такое реализиовать?
И нужно ли для этого использовать модель представлние?
rich
перемещение по одному уровню дерева?т.е в верх и низ?если да,то от чего зависит их номер по порядку?
Litkevich Yuriy
для QTreeView, это только через модель, а для QTreeWidget даже незнаю.
rich
если дерево из базы берётся и номер по порядку itema в дереве это номер по порядку у родителя в базе, то перемещение достигается сменой номеров по порядку в базе и вызовом функции построения дерева.Соответственно елсе в низ,то текущего с нижестоящим и елсе в верх, то текущего с вышестоящим.
Александр
Как-то так

QTreeWidgetItem *curr = treeWidget->currentItem();
if (0 == curr) return;

QTreeWidgetItem *above;

QTreeWidgetItem *parent = curr->parent();

if (0 == parent)
{
int indx = treeWidget->indexOfTopLevelItem(curr);
if (indx > 0)
{
above = treeWidget->takeTopLevelItem(indx - 1);
treeWidget->insertTopLevelItem(indx, above);
}
return;
}

int indx = parent->indexOfChild(curr);
if (indx > 0)
{
above = parent->takeChild(indx - 1);
parent->insertChild(indx, above);
}
}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.