Qt窗体拖拽的实现方法
一,让窗体响应Drop事件
1,设置属性
setAcceptDrops(true);
2,重写相关事件
2.1,.h增加:
protected:
void dragEnterEvent(QDragEnterEvent *event);
void dropEvent(QDropEvent *event);
2.2,.cpp增加:
//此事件函数过滤掉了所有非"myDropTestType"类型的事件,及所有拖拽事件中只要不是"myDropTestType"类型的将被全部过滤掉
void Widget::dragEnterEvent(QDragEnterEvent *event)
{
if (event->mimeData()->hasFormat("myDropTestType"))
{
event->acceptProposedAction();
}
}
//此事件函数接收Drop事件并获取"myDropTestType"类型事件传递的数据
void Widget::dropEvent(QDropEvent *event)
{
QByteArray