我现在想用 qt 做的软件tableview里的文件拖到 windows的任意位置达到复制功能 想做个跟windows一样的拖动复制功能 可是 我怎么获取 我鼠标放开后 指向windows的路径啊 有知道怎么做的吗
收起
// 拖拽内容设置 QDrag *drag = new QDrag(this); // drag过程当中的缩略图 drag->setPixmap(grab()); drag->setHotSpot(event->pos()); QMimeData *mimeData = new QMimeData(); QList<QUrl> urls; // TODO 把你想要复制的文件的原路径放进去 mimeData->setUrls(urls); drag->setMimeData(mimeData); drag->exec();
非常感谢 你的解答好像你这个是剪切了 是不是 加上 drag->exec(Qt::CopyAction, Qt::CopyAction); 是复制啊 我这是个 tableview 一拖动 缩略图显示 整个表格在拖动 我其实只是拖动表格里的一行数据 这个怎么写缩略图啊
重写startDrag和Model的mimeData函数
exec的第一个参数可以也设置成Qt::ActionMask,这样拖动过程中按Ctrl键可以换成剪切,如果你只想复制的话用Qt::CopyAction就可以
报告相同问题?
程序员都在用的中文IT技术交流社区
专业的中文 IT 技术社区,与千万技术人共成长
关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!