#include "ctreewidget.h"
#include <QMouseEvent>
#include <QPainter>
#define BM_ICON_WIDTH 22
CTreeWidget::CTreeWidget(QWidget *parent) :
QTreeWidget(parent),m_child(true),m_newLine(QLine()), m_oldLine(QLine())
{
this->setSelectionMode(QAbstractItemView::SingleSelection);
//启用拖放
this->setDragEnabled(true);
//设置拖放
setAcceptDrops(true);
// this->viewport()->setAcceptDrops(true);
//设置显示将要被放置的位置
this->setDropIndicatorShown(true);
// //设置拖放模式为移动项目,否则为复制项目
this->setDragDropMode(QAbstractItemView::InternalMove);
this->setAttribute(Qt::WA_PaintOutsidePaintEvent);
}
void CTreeWidget::dragEnterEvent(QDragEnterEvent *event)
{
if (event->mimeData()->hasFormat("application/x-qabstractitemmodeldatalist"))
event->accept();
else
event->ignore();
}
void CTreeWidget::dragMoveEvent(QDragMoveEvent *event)
{
if (event->mimeData()->hasFormat("applica
QTreeWidget实现元素拖拽移动,并绘制插入点
最新推荐文章于 2025-06-15 16:59:29 发布