Как такое реализиовать?
И нужно ли для этого использовать модель представлние?
перемещение по одному уровню дерева?т.е в верх и низ?если да,то от чего зависит их номер по порядку?
Litkevich Yuriy
5.4.2008, 12:25
для QTreeView, это только через модель, а для QTreeWidget даже незнаю.
если дерево из базы берётся и номер по порядку itema в дереве это номер по порядку у родителя в базе, то перемещение достигается сменой номеров по порядку в базе и вызовом функции построения дерева.Соответственно елсе в низ,то текущего с нижестоящим и елсе в верх, то текущего с вышестоящим.
Александр
21.1.2011, 15:51
Как-то так
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);
}
}
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.