【发布时间】:2013-11-21 14:28:06
【问题描述】:
我进行了很多搜索(引导我到 this 和 that)并在我的课程中添加了几行
MainWindow.cpp
#include <QtGui/QDragEnterEvent>
#include <QtGui/QDragLeaveEvent>
#include <QtGui/QDragMoveEvent>
#include <QtGui/QDropEvent>
#include <QtCore/QMimeData>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
....
setAcceptDrops(true);
}
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
{
event->acceptProposedAction();
}
void MainWindow::dropEvent(QDropEvent *event)
{
qDebug() << "On Drop Event";
const QMimeData* mimeData = event->mimeData();
if (mimeData->hasUrls())
{
QStringList pathList;
QList<QUrl> urlList = mimeData->urls();
for (int i = 0; i < urlList.size() && i < 32; ++i)
{
pathList.append(urlList.at(i).toLocalFile());
}
if(openFiles(pathList))
event->acceptProposedAction();
}
}
void MainWindow::dragMoveEvent(QDragMoveEvent * event)
{
event->acceptProposedAction();
}
void MainWindow::dragLeaveEvent(QDragLeaveEvent* event)
{
event->accept();
}
但我无法将文件拖放到我的 MainWindow(从 finder 中)。并不是我的代码崩溃或无法编译,只是我确实不能。 MainWindow 没有反应,没有亮点,什么都没有。
我错过了什么?
【问题讨论】:
标签: c++ qt drag-and-drop qmainwindow qtgui