当前位置: 首页> 健康> 知识 > 电子商务网站设计与开发案例教程_android_太原seo代理商_快速排名工具免费

电子商务网站设计与开发案例教程_android_太原seo代理商_快速排名工具免费

时间:2025/7/13 8:12:22来源:https://blog.csdn.net/qq_21980099/article/details/147591156 浏览次数:0次
电子商务网站设计与开发案例教程_android_太原seo代理商_快速排名工具免费

拖动

void DWidget::mousePressEvent(QMouseEvent *event)
{if(event->button()==Qt::LeftButton){QListWidgetItem *selItem = currentItem();if(selItem!= nullptr){m_startPos=event->pos();  //记录鼠标按下时的起始位置}}QListWidget::mousePressEvent(event);
}void DWidget::mouseMoveEvent(QMouseEvent *event)
{if(event->buttons()&Qt::LeftButton){int instance=(event->pos()-m_startPos).manhattanLength();  //计算拖动位置与起始位置的距离if(instance>=QApplication::startDragDistance())  //防止手抖,必须超过一定距离。QApplication::startDragDistance()默认为4。{perfomDrag();}}
}
void DWidget::perfomDrag()
{QListWidgetItem *pItem = currentItem();  //当前拖动项if(pItem!= nullptr&&!pItem->text().contains(tr("参数"))){QDrag *drag = new QDrag(this);  //拖动类QMimeData *pMimedata = new QMimeData;DragParameters param=pItem->data(Qt::UserRole).value<DragParameters>();//传递数据QByteArray outBa;outBa.resize(sizeof(param));QBuffer buffer(&outBa);buffer.open(QIODevice::WriteOnly);QDataStream out(&buffer);out << param;buffer.close();pMimedata->setData("application/DragParameters",outBa);//拖动图片显示,显示参数名QString text=pItem->text();QPainter painter(&pix);painter.drawText(rect, text);drag->setPixmap(pix);drag->setMimeData(pMimedata);Qt::DropAction action = drag->exec(Qt::MoveAction);if(action==Qt::MoveAction)  //移动{}else if(action==Qt::IgnoreAction)  //拖动被拒、无接收{}}
}

QMimeData

Qt中封装MIME类型数据的容器,允许应用程序传输文本、图像、颜色、自定义二进制数据等。

application/DragParameters​:自定义MIME类型,明确标识拖拽操作中传递的数据类型,确保发送方和接收方使用同一标识解析数据

数据内容 (outBa)​​:类型为 QByteArray 的字节数组,包含实际传输的二进制数据。

关键字:电子商务网站设计与开发案例教程_android_太原seo代理商_快速排名工具免费

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: