Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QEvent Class Reference

The QEvent class is the base class of all event classes. Event objects contain event parameters. More...

`#include <qevent.h>`

Inherits Qt.

Inherited by QTimerEvent, QMouseEvent, QWheelEvent, QTabletEvent, QKeyEvent, QFocusEvent, QPaintEvent, QMoveEvent, QResizeEvent, QCloseEvent, QShowEvent, QHideEvent, QContextMenuEvent, QIMEvent, QDropEvent, QDragLeaveEvent, QChildEvent and QCustomEvent.

List of all member functions.

## Public Members

- enum Type { None = 0, Timer = 1, MouseButtonPress = 2, MouseButtonRelease = 3, MouseButtonDblClick = 4, MouseMove = 5, KeyPress = 6, KeyRelease = 7, FocusIn = 8, FocusOut = 9, Enter = 10, Leave = 11, Paint = 12, Move = 13, Resize = 14, Create = 15, Destroy = 16, Show = 17, Hide = 18, Close = 19, Quit = 20, Reparent = 21, ShowMinimized = 22, ShowNormal = 23, WindowActivate = 24, WindowDeactivate = 25, ShowToParent = 26, HideToParent = 27, ShowMaximized = 28, ShowFullScreen = 29, Accel = 30, Wheel = 31, AccelAvailable = 32, CaptionChange = 33, IconChange = 34, ParentFontChange = 35, ApplicationFontChange = 36, ParentPaletteChange = 37, ApplicationPaletteChange = 38, PaletteChange = 39, Clipboard = 40, Speech = 42, SockAct = 50, AccelOverride = 51, DeferredDelete = 52, DragEnter = 60, DragMove = 61, DragLeave = 62, Drop = 63, DragResponse = 64, ChildInserted = 70, ChildRemoved = 71, LayoutHint = 72, ShowWindowRequest = 73, ActivateControl = 80, DeactivateControl = 81, ContextMenu = 82, IMStart = 83, IMCompose = 84, IMEnd = 85, Accessibility = 86, Tablet = 87, User = 1000, MaxUser = 65535 } (obsolete)
- QEvent ( Type type )
- Type type () const
- bool spontaneous () const

## Detailed Description

The QEvent class is the base class of all event classes. Event objects contain event parameters.

The main event loop of Qt (QApplication::exec()) fetches native window system events from the event queue, translates them into QEvents and sends the translated events to QObjects.

Generally, events come from the underlying window system (spontaneous() returns TRUE) but it is also possible to manually send events through the QApplication class using QApplication::sendEvent() and QApplication::postEvent() (spontaneous() returns FALSE).

QObjects receive events by having their QObject::event() function called. The function can be reimplemented in subclasses to customize event handling and add additional event types. QWidget::event() is a notable example. By default, events are dispatched to event handlers like QObject::timerEvent() and QWidget::mouseMoveEvent(). QObject::installEventFilter() allows an object to intercept events to another object.

The basic QEvent contains only an event type parameter. Subclasses of QEvent contain additional parameters that describe the particular event.

See also QObject::event(), QObject::installEventFilter(), QWidget::event(), QApplication::sendEvent(), QApplication::postEvent(), QApplication::processEvents(), Environment Classes and Event Classes.

## Member Type Documentation

### QEvent::Type

This enum type defines the valid event types in Qt. The currently defined event types and the specialized classes for each type are:

- `QEvent::None` - Not an event.
- `QEvent::Accessibility` - Accessibility information is requested
- `QEvent::Timer` - Regular timer events, QTimerEvent.
- `QEvent::MouseButtonPress` - Mouse press, QMouseEvent.
- `QEvent::MouseButtonRelease` - Mouse release, QMouseEvent.
- `QEvent::MouseButtonDblClick` - Mouse press again, QMouseEvent.
- `QEvent::MouseMove` - Mouse move, QMouseEvent.
- `QEvent::KeyPress` - Key press (including Shift, for example), QKeyEvent.
- `QEvent::KeyRelease` - Key release, QKeyEvent.
- `QEvent::IMStart` - The start of input method composition.
- `QEvent::IMCompose` - Input method composition is taking place.
- `QEvent::IMEnd` - The end of input method composition.
- `QEvent::FocusIn` - Widget gains keyboard focus, QFocusEvent.
- `QEvent::FocusOut` - Widget loses keyboard focus, QFocusEvent.
- `QEvent::Enter` - Mouse enters widget's boundaries.
- `QEvent::Leave` - Mouse leaves widget's boundaries.
- `QEvent::Paint` - Screen update necessary, QPaintEvent.
- `QEvent::Move` - Widget's position changed, QMoveEvent.
- `QEvent::Resize` - Widget's size changed, QResizeEvent.
- `QEvent::Show` - Widget was shown on screen, QShowEvent.
- `QEvent::Hide` - Widget was hidden, QHideEvent.
- `QEvent::ShowToParent` - A child widget has been shown.
- `QEvent::HideToParent` - A child widget has been hidden.
- `QEvent::Close` - Widget was closed (permanently), QCloseEvent.
- `QEvent::ShowNormal` - Widget should be shown normally.
- `QEvent::ShowMaximized` - Widget should be shown maximized.
- `QEvent::ShowMinimized` - Widget should be shown minimized.
- `QEvent::ShowFullScreen` - Widget should be shown full-screen.
- `QEvent::ShowWindowRequest` - Widget's window should be shown. This type is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.
- `QEvent::DeferredDelete` - The object will be deleted after it has cleaned up.
- `QEvent::Accel` - Key press in child for shortcut key handling, QKeyEvent.
- `QEvent::Wheel` - Mouse wheel rolled, QWheelEvent.
- `QEvent::ContextMenu` - context popup menu, QContextMenuEvent
- `QEvent::AccelAvailable` - Internal event used by Qt on some platforms.
- `QEvent::AccelOverride` - Key press in child, for overriding shortcut key handling, QKeyEvent.
- `QEvent::WindowActivate` - Window was activated.
- `QEvent::WindowDeactivate` - Window was deactivated.
- `QEvent::CaptionChange` - Widget's caption changed.
- `QEvent::IconChange` - Widget's icon changed.
- `QEvent::ParentFontChange` - Font of the parent widget changed.
- `QEvent::ApplicationFontChange` - Default application font changed.
- `QEvent::PaletteChange` - Palette of the widget changed.
- `QEvent::ParentPaletteChange` - Palette of the parent widget changed.
- `QEvent::ApplicationPaletteChange` - Default application palette changed.
- `QEvent::Clipboard` - Clipboard contents have changed.
- `QEvent::SockAct` - Socket activated, used to implement QSocketNotifier.
- `QEvent::DragEnter` - A drag-and-drop enters widget, QDragEnterEvent.
- `QEvent::DragMove` - A drag-and-drop is in progress, QDragMoveEvent.
- `QEvent::DragLeave` - A drag-and-drop leaves widget, QDragLeaveEvent.
- `QEvent::Drop` - A drag-and-drop is completed, QDropEvent.
- `QEvent::DragResponse` - Internal event used by Qt on some platforms.
- `QEvent::ChildInserted` - Object gets a child, QChildEvent.
- `QEvent::ChildRemoved` - Object loses a child, QChildEvent.
- `QEvent::LayoutHint` - Widget child has changed layout properties.
- `QEvent::ActivateControl` - Internal event used by Qt on some platforms.
- `QEvent::DeactivateControl` - Internal event used by Qt on some platforms.
- `QEvent::Quit` - Reserved.
- `QEvent::Create` - Reserved.
- `QEvent::Destroy` - Reserved.
- `QEvent::Reparent` - Reserved.
- `QEvent::Speech` - Reserved for speech input.
- `QEvent::Tablet` - Wacom Tablet event.
- `QEvent::User` - User defined event.
- `QEvent::MaxUser` - Last user event id.

User events should have values between User and MaxUser inclusive.

## Member Function Documentation

### QEvent::QEvent ( Type type )

Contructs an event object of type type.

### bool QEvent::spontaneous () const

Returns TRUE if the event originated outside the application, i.e. it is a system event; otherwise returns FALSE.

### Type QEvent::type () const

Returns the event type.

This file is part of the Qt toolkit, copyright © 1995-2001 Trolltech, all rights reserved.