Kon*_*ong 7 c++ qt drag-and-drop qt4
我开始拖累图像.
QDrag* drag = new(QDrag)(this);
drag->setPixmap(*pixmap);
drag->exec(Qt::CopyAction | Qt::MoveAction);
Run Code Online (Sandbox Code Playgroud)
当我的拖动到达窗口小部件中的某个点时,我想更改图像显示.
目前我有个主意.在我开始第一次拖动后,当我的拖动到达某个点时,我取消第一次拖动,然后我重新启动一个带有新图像的新拖动.
我这样做了dragMoveEvent.我可以使用新图像开始新的拖动.但我似乎无法取消第一次拖动.我发现之前的拖放操作仍在执行中.
有人可以建议:
if (event->mimeData()->hasText())
{
if (need_to_change_pixmap())
{
event->setDropAction(Qt::IgnoreAction);
change_pixmap_restart_drag();
}
else
{
event->setDropAction(Qt::MoveAction);
event->accept();
}
}
else
{
event->ignore();
}
Run Code Online (Sandbox Code Playgroud)
该change_pixmap_restart_drag功能只是开始拖动.