Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
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
11
namespace
dropevents
{
12
class
Window
:
public
QWidget
13
{
14
15
public
:
16
explicit
Window
(QWidget *parent =
nullptr
);
17
18
protected
:
19
void
dragEnterEvent
(QDragEnterEvent *event)
override
;
20
void
dropEvent
(QDropEvent *event)
override
;
21
22
private
:
23
QComboBox *mimeTypeCombo =
nullptr
;
24
QTextBrowser *textBrowser =
nullptr
;
25
QString oldText;
26
QStringList oldMimeTypes;
27
};
28
29
//! [0]
30
Window
::
Window
(QWidget *parent)
31
:
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]
55
void
Window
::
dragEnterEvent
(QDragEnterEvent *event)
56
{
57
if
(event->mimeData()->hasFormat(
"text/plain"
))
58
event->acceptProposedAction();
59
}
60
//! [3]
61
62
//! [4]
63
void
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
dropevents::Window
Definition
window.cpp:13
dropevents::Window::dropEvent
void dropEvent(QDropEvent *event) override
[3]
Definition
window.cpp:63
dropevents::Window::Window
Window(QWidget *parent=nullptr)
[0]
Definition
window.cpp:30
dropevents::Window::dragEnterEvent
void dragEnterEvent(QDragEnterEvent *event) override
[2]
Definition
window.cpp:55
dropevents
Definition
window.cpp:11
qtbase
src
gui
doc
snippets
dropevents
window.cpp
Generated on
for Qt by
1.18.0