16,174
社区成员
发帖
与我相关
我的任务
分享
void on_up_button()
{
QTreeWidgetItem* parent = tree->currentItem()->parent();
QTreeWidgetItem* curItem = tree->currentItem();
if (parent == NULL || parent->indexOfChild(curItem) <= 0)
{
return;
}
int curIndex = parent->indexOfChild(curItem);
QList<QTreeWidgetItem*> oldChildren = parent->takeChildren();
QList<QTreeWidgetItem*> newChildren;
for (int i = 0; i < curIndex - 1; ++i)
{
newChildren.append(oldChildren.at(i));
}
newChildren.append(oldChildren.at(curIndex));
newChildren.append(oldChildren.at(curIndex-1));
for (int i = curIndex + 1; i < oldChildren.size(); ++i)
{
newChildren.append(oldChildren.at(i));
}
parent->addChildren(newChildren);
tree->setCurrentItem(parent->child(curIndex - 1));
}
void on_up_button()
{
QTreeWidgetItem* parent = tree->currentItem()->parent();
QTreeWidgetItem* curItem = tree->currentItem();
if (parent == NULL || parent->indexOfChild(tree->currentItem()) <= 0)
{
return;
}
QTreeWidgetItem* prev = parent->takeChild( parent->indexOfChild(curItem) - 1 );
if (NULL == prev)
{
return;
}
parent->insertChild(parent->indexOfChild(curItem) - 1,curItem );
parent->insertChild(parent->indexOfChild(curItem),prev );
/*
//节点内容互换
QTreeWidgetItem tmp;
tmp = *(tree->currentItem());
*(tree->currentItem()) = *prev;
*prev = tmp;
*/
tree->setCurrentItem(prev);
}