【发布时间】:2015-03-02 02:05:47
【问题描述】:
在我的项目中,我希望用户能够将文件拖放到我的程序中并像“浏览”文件一样打开它。
这是我的代码:
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
{
if (event->mimeData()->hasUrls())
{
if(event->mimeData()->urls().size() == 1)
{
QFileInfo inputFile = event->mimeData()->urls().at(0).toLocalFile();
if(inputFile.suffix() == "dat")
{
event->acceptProposedAction();
}
}
}
}
void MainWindow::dropEvent(QDropEvent* event)
{
inputPath = event->mimeData()->urls().at(0).toLocalFile();
on_actionOpen_Savegame_triggered();
}
一切都按我的需要进行,除了当用户要删除文件时删除操作显示“复制”。
我可以将 QDropAction 更改为 Copy、Move、Link 或 Ignore,但不能打开... 无论如何我可以删除“复制”的文本或将其更改为“打开”
【问题讨论】:
标签: c++ qt drag-and-drop