Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
window.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3#include <QComboBox>
4#include <QDragEnterEvent>
5#include <QLabel>
6#include <QMimeData>
7#include <QTextBrowser>
8#include <QVBoxLayout>
9#include <QWidget>
10
11namespace dropevents {
12class Window : public QWidget
13{
14
15public:
16 explicit Window(QWidget *parent = nullptr);
17
18protected:
19 void dragEnterEvent(QDragEnterEvent *event) override;
20 void dropEvent(QDropEvent *event) override;
21
22private:
23 QComboBox *mimeTypeCombo = nullptr;
24 QTextBrowser *textBrowser = nullptr;
25 QString oldText;
26 QStringList oldMimeTypes;
27};
28
29//! [0]
30Window::Window(QWidget *parent)
32{
33//! [0]
34 QLabel *textLabel = new QLabel(tr("Data:"), this);
35 textBrowser = new QTextBrowser(this);
36
37 QLabel *mimeTypeLabel = new QLabel(tr("MIME types:"), this);
38 mimeTypeCombo = new QComboBox(this);
39
40 QVBoxLayout *layout = new QVBoxLayout(this);
41 layout->addWidget(textLabel);
42 layout->addWidget(textBrowser);
43 layout->addWidget(mimeTypeLabel);
44 layout->addWidget(mimeTypeCombo);
45
46//! [1]
47 setAcceptDrops(true);
48//! [1]
49 setWindowTitle(tr("Drop Events"));
50//! [2]
51}
52//! [2]
53
54//! [3]
55void Window::dragEnterEvent(QDragEnterEvent *event)
56{
57 if (event->mimeData()->hasFormat("text/plain"))
58 event->acceptProposedAction();
59}
60//! [3]
61
62//! [4]
63void Window::dropEvent(QDropEvent *event)
64{
65 textBrowser->setPlainText(event->mimeData()->text());
66 mimeTypeCombo->clear();
67 mimeTypeCombo->addItems(event->mimeData()->formats());
68
69 event->acceptProposedAction();
70}
71//! [4]
72
73} // dropevents
void dropEvent(QDropEvent *event) override
[3]
Definition window.cpp:63
Window(QWidget *parent=nullptr)
[0]
Definition window.cpp:30
void dragEnterEvent(QDragEnterEvent *event) override
[2]
Definition window.cpp:55