Struct rute::auto::mouse_event::MouseEvent
source · pub struct MouseEvent<'a> { /* private fields */ }
Expand description
Notice these docs are heavy WIP and not very relevent yet
Mouse events occur when a mouse button is pressed or released inside a widget, or when the mouse cursor is moved.
Mouse move events will occur only when a mouse button is pressed down, unless mouse tracking has been enabled with QWidget::setMouseTracking().
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.
A mouse event contains a special accept flag that indicates whether the receiver wants the event. You should call ignore() 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 accept(), or an event filter consumes it.
Note: If a mouse event is propagated to a widget for which Qt::WA_NoMousePropagation has been set, that mouse event will not be propagated further up the parent widget chain.
The state of the keyboard modifier keys can be found by calling the modifiers() function, inherited from QInputEvent.
The functions pos(), x(), and y() 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 globalPos() to avoid a shaking motion.
The QWidget::setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.
Reimplement the QWidget event handlers, QWidget::mousePressEvent(), QWidget::mouseReleaseEvent(), QWidget::mouseDoubleClickEvent(), and QWidget::mouseMoveEvent() to receive mouse events in your own widgets.
See also: Widget::set_mouse_tracking
Widget::grab_mouse
Cursor::pos
Licence
The documentation is an adoption of the original Qt Documentation and provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.
Implementations
sourceimpl<'a> MouseEvent<'a>
impl<'a> MouseEvent<'a>
sourcepub fn pos(&self) -> Point<'_>
pub fn pos(&self) -> Point<'_>
Returns the position of the mouse cursor, relative to the widget that received the event.
If you move the widget as a result of the mouse event, use the global position returned by globalPos() to avoid a shaking motion.
See also: [x()
]
[y()
]
[global_pos()
]
Use localPos() instead.
sourcepub fn global_pos(&self) -> Point<'_>
pub fn global_pos(&self) -> Point<'_>
Returns the global position of the mouse cursor at the time of the event . This is important on asynchronous window systems like X11. Whenever you move your widgets around in response to mouse events, globalPos() may differ a lot from the current pointer position QCursor::pos(), and from QWidget::mapToGlobal(pos()).
See also: [global_x()
]
[global_y()
]
sourcepub fn x(&self) -> i32
pub fn x(&self) -> i32
Returns the x position of the mouse cursor, relative to the widget that received the event.
See also: [y()
]
[pos()
]
sourcepub fn y(&self) -> i32
pub fn y(&self) -> i32
Returns the y position of the mouse cursor, relative to the widget that received the event.
See also: [x()
]
[pos()
]
sourcepub fn global_x(&self) -> i32
pub fn global_x(&self) -> i32
Returns the global x position of the mouse cursor at the time of the event.
See also: [global_y()
]
[global_pos()
]
sourcepub fn global_y(&self) -> i32
pub fn global_y(&self) -> i32
Returns the global y position of the mouse cursor at the time of the event.
See also: [global_x()
]
[global_pos()
]
sourcepub fn local_pos(&self) -> Option<PointF<'_>>
pub fn local_pos(&self) -> Option<PointF<'_>>
Returns the position of the mouse cursor as a QPointF, relative to the widget or item that received the event.
If you move the widget as a result of the mouse event, use the screen position returned by screenPos() to avoid a shaking motion.
See also: [x()
]
[y()
]
[window_pos()
]
[screen_pos()
]
sourcepub fn window_pos(&self) -> Option<PointF<'_>>
pub fn window_pos(&self) -> Option<PointF<'_>>
Returns the position of the mouse cursor as a QPointF, relative to the window that received the event.
If you move the widget as a result of the mouse event, use the global position returned by globalPos() to avoid a shaking motion.
See also: [x()
]
[y()
]
[pos()
]
[local_pos()
]
[screen_pos()
]
sourcepub fn screen_pos(&self) -> Option<PointF<'_>>
pub fn screen_pos(&self) -> Option<PointF<'_>>
Returns the position of the mouse cursor as a QPointF, relative to the screen that received the event.
See also: [x()
]
[y()
]
[pos()
]
[local_pos()
]
[window_pos()
]
Returns the button that caused the event.
Note that the returned value is always Qt::NoButton for mouse move events.
See also: [buttons()
]
[t::mouse_button()
]
Returns the button state when the event was generated. The button state is a combination of Qt::LeftButton, Qt::RightButton, Qt::MidButton using the OR operator. For mouse move events, this is all buttons that are pressed down. For mouse press and double click events this includes the button that caused the event. For mouse release events this excludes the button that caused the event.
See also: [button()
]
[t::mouse_button()
]
Returns the button state when the event was generated. The button state is a combination of Qt::LeftButton, Qt::RightButton, Qt::MidButton using the OR operator. For mouse move events, this is all buttons that are pressed down. For mouse press and double click events this includes the button that caused the event. For mouse release events this excludes the button that caused the event.
See also: [button()
]
[t::mouse_button()
]
pub fn set_local_pos<P: PointFTrait<'a>>(&self, local_position: &P) -> &Self
sourcepub fn source(&self) -> MouseEventSource
pub fn source(&self) -> MouseEventSource
Returns information about the mouse event source.
The mouse event source can be used to distinguish between genuine and artificial mouse events. The latter are events that are synthesized from touch events by the operating system or Qt itself.
Note: Many platforms provide no such information. On such platforms Qt::MouseEventNotSynthesized is returned always.
See also: [t::mouse_event_source()
]
See also: [GraphicsSceneMouseEvent::source
]
sourcepub fn flags(&self) -> MouseEventFlags
pub fn flags(&self) -> MouseEventFlags
Returns the mouse event flags.
The mouse event flags provide additional information about a mouse event.
See also: [t::mouse_event_flag()
]
See also: [GraphicsSceneMouseEvent::flags
]
Trait Implementations
sourceimpl<'a> Clone for MouseEvent<'a>
impl<'a> Clone for MouseEvent<'a>
sourcefn clone(&self) -> MouseEvent<'a>
fn clone(&self) -> MouseEvent<'a>
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more