Qt 5.10 Book Examples
Drop.h
Go to the documentation of this file.
1 // ======================================================================
2 // Drop.h
3 // ======================================================================
4 // This file is a part of the book
5 // "Qt 5.10 Professional programming with C++"
6 // http://qt-book.com
7 // ======================================================================
8 // Copyright (c) 2017 by Max Schlee
9 // ======================================================================
10 
11 #pragma once
12 
13 #include <QtWidgets>
14 
15 // ======================================================================
16 class Drop : public QLabel {
17 Q_OBJECT
18 
19 protected:
20  virtual void dragEnterEvent(QDragEnterEvent* pe)
21  {
22  if (pe->mimeData()->hasFormat("text/uri-list")) {
23  pe->acceptProposedAction();
24  }
25  }
26 
27  virtual void dropEvent(QDropEvent* pe)
28  {
29  QList<QUrl> urlList = pe->mimeData()->urls();
30  QString str;
31  foreach(QUrl url, urlList) {
32  str += url.toString() + "\n";
33  }
34  setText("Dropped:\n" + str);
35  }
36 
37 public:
38  Drop(QWidget* pwgt = 0) : QLabel("Drop Area", pwgt)
39  {
40  setAcceptDrops(true);
41  }
42 
43 };
Definition: Drop.h:16
virtual void dropEvent(QDropEvent *pe)
Definition: Drop.h:27
Drop(QWidget *pwgt=0)
Definition: Drop.h:38
virtual void dragEnterEvent(QDragEnterEvent *pe)
Definition: Drop.h:20