1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qevent.cpp:244 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>QMouseEvent Class</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
<a href="index.html">
<font color="#004faf">Home</font></a>
| <a href="classes.html">
<font color="#004faf">All Classes</font></a>
| <a href="mainclasses.html">
<font color="#004faf">Main Classes</font></a>
| <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
| <a href="groups.html">
<font color="#004faf">Grouped Classes</font></a>
| <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QMouseEvent Class Reference</h1>
<p>The QMouseEvent class contains parameters that describe a mouse event.
<a href="#details">More...</a>
<p><tt>#include <<a href="qevent-h.html">qevent.h</a>></tt>
<p>Inherits <a href="qevent.html">QEvent</a>.
<p><a href="qmouseevent-members.html">List of all member functions.</a>
<h2>Public Members</h2>
<ul>
<li class=fn><a href="#QMouseEvent"><b>QMouseEvent</b></a> ( Type type, const QPoint & pos, int button, int state )</li>
<li class=fn><a href="#QMouseEvent-2"><b>QMouseEvent</b></a> ( Type type, const QPoint & pos, const QPoint & globalPos, int button, int state )</li>
<li class=fn>const QPoint & <a href="#pos"><b>pos</b></a> () const</li>
<li class=fn>const QPoint & <a href="#globalPos"><b>globalPos</b></a> () const</li>
<li class=fn>int <a href="#x"><b>x</b></a> () const</li>
<li class=fn>int <a href="#y"><b>y</b></a> () const</li>
<li class=fn>int <a href="#globalX"><b>globalX</b></a> () const</li>
<li class=fn>int <a href="#globalY"><b>globalY</b></a> () const</li>
<li class=fn>ButtonState <a href="#button"><b>button</b></a> () const</li>
<li class=fn>ButtonState <a href="#state"><b>state</b></a> () const</li>
<li class=fn>ButtonState <a href="#stateAfter"><b>stateAfter</b></a> () const</li>
<li class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
<li class=fn>void <a href="#accept"><b>accept</b></a> ()</li>
<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
</ul>
<hr><a name="details"></a><h2>Detailed Description</h2>
<p> The QMouseEvent class contains parameters that describe a mouse event.
<p> Mouse events occur when a mouse button is pressed or released
inside a widget or when the mouse cursor is moved.
<p> Mouse move events will occur only when a mouse button is pressed
down, unless mouse tracking has been enabled with
<a href="qwidget.html#setMouseTracking">QWidget::setMouseTracking</a>().
<p> Qt automatically grabs the mouse when a mouse button is pressed
inside a widget; the widget will continue to receive mouse events
until the last mouse button is released.
<p> A mouse event contains a special accept flag that indicates
whether the receiver wants the event. You should call
<a href="#ignore">QMouseEvent::ignore</a>() if the mouse event is not handled by your
widget. A mouse event is propagated up the parent widget chain
until a widget accepts it with <a href="#accept">QMouseEvent::accept</a>() or an event
filter consumes it.
<p> The functions <a href="#pos">pos</a>(), <a href="#x">x</a>() and <a href="#y">y</a>() give the cursor position relative
to the widget that receives the mouse event. If you move the
widget as a result of the mouse event, use the global position
returned by <a href="#globalPos">globalPos</a>() to avoid a shaking motion.
<p> The <a href="qwidget.html#setEnabled">QWidget::setEnabled</a>() function can be used to enable or
disable mouse and keyboard events for a widget.
<p> The event handlers <a href="qwidget.html#mousePressEvent">QWidget::mousePressEvent</a>(),
<a href="qwidget.html#mouseReleaseEvent">QWidget::mouseReleaseEvent</a>(), <a href="qwidget.html#mouseDoubleClickEvent">QWidget::mouseDoubleClickEvent</a>() and
<a href="qwidget.html#mouseMoveEvent">QWidget::mouseMoveEvent</a>() receive mouse events.
<p> <p>See also <a href="qwidget.html#mouseTracking-prop">QWidget::mouseTracking</a>, <a href="qwidget.html#grabMouse">QWidget::grabMouse</a>(), <a href="qcursor.html#pos">QCursor::pos</a>(), and <a href="events.html">Event Classes</a>.
<hr><h2>Member Function Documentation</h2>
<h3 class=fn><a name="QMouseEvent"></a>QMouseEvent::QMouseEvent ( <a href="qevent.html#Type-enum">Type</a> type, const <a href="qpoint.html">QPoint</a> & pos, int button, int state )
</h3>
<p> Constructs a mouse event object.
<p> The <em>type</em> parameter must be one of <a href="qevent.html#Type-enum">QEvent::MouseButtonPress</a>,
<a href="qevent.html#Type-enum">QEvent::MouseButtonRelease</a>, <a href="qevent.html#Type-enum">QEvent::MouseButtonDblClick</a> or
<a href="qevent.html#Type-enum">QEvent::MouseMove</a>.
<p> The <em>pos</em> parameter specifies the position relative to the
receiving widget. <em>button</em> specifies the <a href="qt.html#ButtonState-enum">button</a> that caused the event, which should be <a href="qt.html#ButtonState-enum">Qt::NoButton</a> (0), if <em>type</em> is <a href="qevent.html#Type-enum">MouseMove</a>. <em>state</em> is the
<a href="qt.html#ButtonState-enum">ButtonState</a> at the time of the
event.
<p> The <a href="#globalPos">globalPos</a>() is initialized to <a href="qcursor.html#pos">QCursor::pos</a>(), which may not be
appropriate. Use the other constructor to specify the global
position explicitly.
<h3 class=fn><a name="QMouseEvent-2"></a>QMouseEvent::QMouseEvent ( <a href="qevent.html#Type-enum">Type</a> type, const <a href="qpoint.html">QPoint</a> & pos, const <a href="qpoint.html">QPoint</a> & globalPos, int button, int state )
</h3>
<p> Constructs a mouse event object.
<p> The <em>type</em> parameter must be <a href="qevent.html#Type-enum">QEvent::MouseButtonPress</a>, <a href="qevent.html#Type-enum">QEvent::MouseButtonRelease</a>, <a href="qevent.html#Type-enum">QEvent::MouseButtonDblClick</a> or <a href="qevent.html#Type-enum">QEvent::MouseMove</a>.
<p> The <em>pos</em> parameter specifies the position relative to the
receiving widget. <em>globalPos</em> is the position in absolute
coordinates. <em>button</em> specifies the <a href="qt.html#ButtonState-enum">button</a> that caused the event, which should be <a href="qt.html#ButtonState-enum">Qt::NoButton</a> (0), if <em>type</em> is <a href="qevent.html#Type-enum">MouseMove</a>. <em>state</em> is the
<a href="qt.html#ButtonState-enum">ButtonState</a> at the time of the
event.
<p>
<h3 class=fn>void <a name="accept"></a>QMouseEvent::accept ()
</h3>
<p> Sets the accept flag of the mouse event object.
<p> Setting the accept parameter indicates that the receiver of the
event wants the mouse event. Unwanted mouse events are sent to the
parent widget.
<p> The accept flag is set by default.
<p> <p>See also <a href="#ignore">ignore</a>().
<h3 class=fn><a href="qt.html#ButtonState-enum">ButtonState</a> <a name="button"></a>QMouseEvent::button () const
</h3>
<p> Returns the button that caused the event.
<p> Possible return values are <a href="qt.html#ButtonState-enum">LeftButton</a>, <a href="qt.html#ButtonState-enum">RightButton</a>, <a href="qt.html#ButtonState-enum">MidButton</a> and <a href="qt.html#ButtonState-enum">NoButton</a>.
<p> Note that the returned value is always <a href="qt.html#ButtonState-enum">NoButton</a> for mouse move
events.
<p> <p>See also <a href="#state">state</a>() and <a href="qt.html#ButtonState-enum">Qt::ButtonState</a>.
<p>Examples: <a href="dclock-example.html#x1101">dclock/dclock.cpp</a>, <a href="life-example.html#x1890">life/life.cpp</a>, and <a href="tutorial1-14.html#x2417">t14/cannon.cpp</a>.
<h3 class=fn>const <a href="qpoint.html">QPoint</a> & <a name="globalPos"></a>QMouseEvent::globalPos () const
</h3>
<p> Returns the global position of the mouse pointer <em>at the time of the event</em>. This is important on asynchronous window systems
like X11. Whenever you move your widgets around in response to
mouse events, <a href="#globalPos">globalPos</a>() may differ a lot from the current
pointer position <a href="qcursor.html#pos">QCursor::pos</a>(), and from <a href="qwidget.html#mapToGlobal">QWidget::mapToGlobal</a>(
<a href="#pos">pos</a>() ).
<p> <p>See also <a href="#globalX">globalX</a>() and <a href="#globalY">globalY</a>().
<p>Example: <a href="aclock-example.html#x1181">aclock/aclock.cpp</a>.
<h3 class=fn>int <a name="globalX"></a>QMouseEvent::globalX () const
</h3>
<p> Returns the global x-position of the mouse pointer at the time of
the event.
<p> <p>See also <a href="#globalY">globalY</a>() and <a href="#globalPos">globalPos</a>().
<h3 class=fn>int <a name="globalY"></a>QMouseEvent::globalY () const
</h3>
<p> Returns the global y-position of the mouse pointer at the time of
the event.
<p> <p>See also <a href="#globalX">globalX</a>() and <a href="#globalPos">globalPos</a>().
<h3 class=fn>void <a name="ignore"></a>QMouseEvent::ignore ()
</h3>
<p> Clears the accept flag parameter of the mouse event object.
<p> Clearing the accept parameter indicates that the event receiver
does not want the mouse event. Unwanted mouse events are sent to
the parent widget.
<p> The accept flag is set by default.
<p> <p>See also <a href="#accept">accept</a>().
<h3 class=fn>bool <a name="isAccepted"></a>QMouseEvent::isAccepted () const
</h3>
<p> Returns TRUE if the receiver of the event wants to keep the key;
otherwise returns FALSE.
<h3 class=fn>const <a href="qpoint.html">QPoint</a> & <a name="pos"></a>QMouseEvent::pos () const
</h3>
<p> Returns the position of the mouse pointer relative to the widget
that received the event.
<p> If you move the widget as a result of the mouse event, use the
global position returned by <a href="#globalPos">globalPos</a>() to avoid a shaking motion.
<p> <p>See also <a href="#x">x</a>(), <a href="#y">y</a>(), and <a href="#globalPos">globalPos</a>().
<p>Examples: <a href="tutorial2-06.html#x2580">chart/canvasview.cpp</a>, <a href="drawlines-example.html#x1654">drawlines/connect.cpp</a>, <a href="life-example.html#x1891">life/life.cpp</a>, <a href="popup-example.html#x1611">popup/popup.cpp</a>, <a href="qmag-example.html#x1780">qmag/qmag.cpp</a>, <a href="tutorial1-14.html#x2418">t14/cannon.cpp</a>, and <a href="tooltip-example.html#x443">tooltip/tooltip.cpp</a>.
<h3 class=fn><a href="qt.html#ButtonState-enum">ButtonState</a> <a name="state"></a>QMouseEvent::state () const
</h3>
<p> Returns the button state (a combination of mouse buttons and
keyboard modifiers), i.e. what buttons and keys were being pressed
immediately before the event was generated.
<p> This means that if you have a <a href="qevent.html#Type-enum">QEvent::MouseButtonPress</a> or a <a href="qevent.html#Type-enum">QEvent::MouseButtonDblClick</a> <a href="#state">state</a>() will <em>not</em> include the mouse
button that's pressed. But once the mouse button has been
released, the <a href="qevent.html#Type-enum">QEvent::MouseButtonRelease</a> event will have the
<a href="#button">button</a>() that was pressed.
<p> This value is mainly interesting for <a href="qevent.html#Type-enum">QEvent::MouseMove</a>; for the
other cases, button() is more useful.
<p> The returned value is <a href="qt.html#ButtonState-enum">LeftButton</a>, <a href="qt.html#ButtonState-enum">RightButton</a>, <a href="qt.html#ButtonState-enum">MidButton</a>,
<a href="qt.html#ButtonState-enum">ShiftButton</a>, <a href="qt.html#ButtonState-enum">ControlButton</a> and <a href="qt.html#ButtonState-enum">AltButton</a> OR'ed together.
<p> <p>See also <a href="#button">button</a>(), <a href="#stateAfter">stateAfter</a>(), and <a href="qt.html#ButtonState-enum">Qt::ButtonState</a>.
<p>Examples: <a href="popup-example.html#x1612">popup/popup.cpp</a> and <a href="showimg-example.html#x1334">showimg/showimg.cpp</a>.
<h3 class=fn><a href="qt.html#ButtonState-enum">ButtonState</a> <a name="stateAfter"></a>QMouseEvent::stateAfter () const
</h3>
<p> Returns the state of buttons after the event.
<p> <p>See also <a href="#state">state</a>() and <a href="qt.html#ButtonState-enum">Qt::ButtonState</a>.
<h3 class=fn>int <a name="x"></a>QMouseEvent::x () const
</h3>
<p> Returns the x-position of the mouse pointer, relative to the
widget that received the event.
<p> <p>See also <a href="#y">y</a>() and <a href="#pos">pos</a>().
<p>Example: <a href="showimg-example.html#x1335">showimg/showimg.cpp</a>.
<h3 class=fn>int <a name="y"></a>QMouseEvent::y () const
</h3>
<p> Returns the y-position of the mouse pointer, relative to the
widget that received the event.
<p> <p>See also <a href="#x">x</a>() and <a href="#pos">pos</a>().
<p>Example: <a href="showimg-example.html#x1336">showimg/showimg.cpp</a>.
<!-- eof -->
<hr><p>
This file is part of the <a href="index.html">Qt toolkit</a>.
Copyright © 1995-2007
<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright © 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>Qt 3.3.8</div>
</table></div></address></body>
</html>
|