QTreeWidget系列--QTreeWidgetItem可随意移动(拖拽),更换父亲节点

方法分如下两步:

第一步,在datatree类(继承自qtreewidget)的构造函数中设置这棵树具有如下两种特征:

setDefaultDropAction(Qt::MoveAction);

setDragDropMode(QAbstractItemView::DragDrop);

第二步,重写 startdrag()函数,在里面写上如下代码:

void CDataTree::startDrag(Qt::DropActions /*supportedActions*/)
{
  QMimeData *mimeData = new QMimeData;
  mimeData->setText(“fasfas”);
  QDrag *drag = new QDrag((QWidget*)(this));
  drag->setMimeData(mimeData);
  drag->exec(Qt::MoveAction);//注意这里一定要是MoveAction
}



你可能感兴趣的:(QTreeWidget系列--QTreeWidgetItem可随意移动(拖拽),更换父亲节点)