控件启用拖拽功能
MyTreeView::MyTreeView(QWidget *parent)
:QTreeView(parent)
{
//启用拖放
this->setDragEnabled(true);
//设置拖放
this->setAcceptDrops(true);
//设置拖放模式为移动项目,否则为复制项目
this->setDragDropMode(QAbstractItemView::InternalMove);
}
同一控件内不同item之间拖拽
QAbstractItemView
{
enum DropIndicatorPosition
{
OnItem/*拖拽到一个元素上面*/,
AboveItem/*OnItem之后,又往这个元素上方丢下来*/,
BelowItem/*OnItem之后,又往这个元素下方丢下来*/,
OnViewport/*拖拽到空白处*/
};
}
void MyTreeView::dropEvent(QDropEvent * event)
{
auto obj = event->