Have you used setAcceptDrops(true) to enable it? QWidget::setAcceptDrops()
Also you must re-implement dragEnterEvent() and accept the event. QWidget::dragEnterEvent()
Example:
dialog.h
#include <QDialog>
{
Q_OBJECT
public:
explicit dialog
(QWidget *parent
= 0);
signals:
public slots:
protected:
};
#include <QDialog>
class dialog : public QDialog
{
Q_OBJECT
public:
explicit dialog(QWidget *parent = 0);
signals:
public slots:
protected:
void dragEnterEvent(QDragEnterEvent *event);
};
To copy to clipboard, switch view to plain text mode
dialog.cpp
#include "dialog.h"
#include <QDragEnterEvent>
{
setAcceptDrops(true);
}
{
event->accept();
}
#include "dialog.h"
#include <QDragEnterEvent>
dialog::dialog(QWidget *parent) :
QDialog(parent)
{
setAcceptDrops(true);
}
void dialog::dragEnterEvent(QDragEnterEvent *event)
{
event->accept();
}
To copy to clipboard, switch view to plain text mode
main.cpp
#include <dialog.h>
#include <QtGui>
int main(int argc, char *argv[])
{
dialog d;
d.show();
return app.exec();
}
#include <dialog.h>
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
dialog d;
d.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
To view other related methods you can refer to http://doc.qt.io/qt-4.8/dnd.html
Bookmarks