主要是在重写的QTreeWidget类中的dragMoveEvent()函数中添加如下代码:
void CusTreeWidget::dragMoveEvent(QDragMoveEvent *event)
{
QRect rectBottom = QRect(0,this->height()-50,300,50);
QRect rectTop = QRect(0,0,300,50);
int delta = 0;
if(oldPt!=event->pos())
{
delta = 1;
}
if(rectBottom.contains(event->pos()))
{
int nBarValue = this->verticalScrollBar()->value();
this->verticalScrollBar()->setValue(nBarValue+delta);
}
if(rectTop.contains(event->pos()))
{
int nBarValue = this->verticalScrollBar()->value();
this->verticalScrollBar()->setValue(nBarValue-delta);
}
oldPt=event->pos();
event->accept();
}
源码下载链接:https://download.csdn.net/download/weixin_43935474/87663546