Qt中从应用程序拖出文件或图片到桌面

论坛 期权论坛 脚本     
已经匿名di用户   2022-7-2 22:16   4366   0
void XXXX::mouseMoveEvent(QMouseEvent *event)
{
    this->viewport()->setCursor(Qt::PointingHandCursor);
    QString fileName /*=指向一个本地存在的文件 */;
    if (event->buttons() & Qt::LeftButton)
    {
        int distance = (event->pos() - _startPos).manhattanLength();
        if (distance >= QApplication::startDragDistance() && !this->rect().contains(event->pos()))
        {
            QMimeData *mimeData = new QMimeData;
            mimeData->setData("drag/fileName", fileName.toUtf8());

            QDrag* drag = new QDrag(this);
            drag->setMimeData(mimeData);
            drag->setHotSpot(event->pos());
            drag->exec(Qt::CopyAction, Qt::CopyAction);
        }
    }

    return XXXX::mouseMoveEvent(event);
}

关键点:执行操作设置为 Qt::CopyAction 。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP