|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# QEvent Class Reference
[QtCore module]

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

    #include <QEvent>

Inherited by QAccessibleEvent, QActionEvent, QChildEvent, QCloseEvent, QCustomEvent, QDragLeaveEvent, QDropEvent, QFileOpenEvent, QFocusEvent, QHelpEvent, QHideEvent, QHoverEvent, QIconDragEvent, QInputEvent, QInputMethodEvent, QMoveEvent, QPaintEvent, QResizeEvent, QShortcutEvent, QShowEvent, QStatusTipEvent, QTimerEvent, QWhatsThisClickedEvent, and QWindowStateChangeEvent.

- List of all members, including inherited members

### Public Types

- enum Type { None, AccessibilityDescription, AccessibilityHelp, AccessibilityPrepare, ..., MaxUser }

### Properties

- accepted : bool

### Public Functions

- QEvent ( Type type )
- virtual ~QEvent ()
- void accept ()
- void ignore ()
- bool isAccepted () const
- void setAccepted ( bool accepted )
- bool spontaneous () const
- Type type () const

## Detailed Description

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

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

In general, events come from the underlying window system (spontaneous() returns true), but it is also possible to manually send events using QCoreApplication::sendEvent() and QCoreApplication::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 destined for another object.

The basic QEvent contains only an event type parameter and an "accept" flag. The accept flag set with accept(), and cleared with ignore(). It is set by default, but don't rely on this as subclasses may choose to clear it in their constructor.

Subclasses of QEvent contain additional parameters that describe the particular event.

See also QObject::event(), QObject::installEventFilter(), QWidget::event(), QCoreApplication::sendEvent(), QCoreApplication::postEvent(), and QCoreApplication::processEvents().

## Member Type Documentation

### enum QEvent::Type

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

Constant | Value | Description
--- | --- | ---
`QEvent::None` | `0` | Not an event.
`QEvent::AccessibilityDescription` | `130` | Used to query accessibility description texts (QAccessibleEvent).
`QEvent::AccessibilityHelp` | `119` | Used to query accessibility help texts (QAccessibleEvent).
`QEvent::AccessibilityPrepare` | `86` | Accessibility information is requested.
`QEvent::ActionAdded` | `114` | A new action has been added (QActionEvent).
`QEvent::ActionChanged` | `113` | An action has been changed (QActionEvent).
`QEvent::ActionRemoved` | `115` | An action has been removed (QActionEvent).
`QEvent::ActivationChange` | `99` | A widget's top-level window activation state has changed.
`QEvent::ApplicationActivated` | `121` | The application has been made available to the user.
`QEvent::ApplicationDeactivated` | `122` | The application has been suspended, and is unavailable to the user.
`QEvent::ApplicationFontChange` | `36` | The default application font has changed.
`QEvent::ApplicationLayoutDirectionChange` | `37` | The default application layout direction has changed.
`QEvent::ApplicationPaletteChange` | `38` | The default application palette has changed.
`QEvent::ApplicationWindowIconChange` | `35` | The application's icon has changed.
`QEvent::ChildAdded` | `68` | An object gets a child (QChildEvent).
`QEvent::ChildPolished` | `69` | A widget child gets polished (QChildEvent).
`QEvent::ChildRemoved` | `71` | An object loses a child (QChildEvent).
`QEvent::Clipboard` | `40` | The clipboard contents have changed (QClipboardEvent).
`QEvent::Close` | `19` | Widget was closed (QCloseEvent).
`QEvent::ContextMenu` | `82` | Context popup menu (QContextMenuEvent).
`QEvent::DeferredDelete` | `52` | The object will be deleted after it has cleaned up.
`QEvent::DragEnter` | `60` | The cursor enters a widget during a drag and drop action (QDragEnterEvent).
`QEvent::DragLeave` | `62` | The cursor leaves a widget during a drag and drop action (QDragLeaveEvent).
`QEvent::DragMove` | `61` | A drag and drop action is in progress (QDragMoveEvent).
`QEvent::Drop` | `63` | A drag and drop action is completed (QDropEvent).
`QEvent::EnabledChange` | `98` | Widget's enabled state has changed.
`QEvent::Enter` | `10` | Mouse enters widget's boundaries.
`QEvent::EnterWhatsThisMode` | `124` | Send to toplevel widgets when the application enters "What's This?" mode.
`QEvent::FileOpen` | `116` | File open request (QFileOpenEvent).
`QEvent::FocusIn` | `8` | Widget gains keyboard focus (QFocusEvent).
`QEvent::FocusOut` | `9` | Widget loses keyboard focus (QFocusEvent).
`QEvent::FontChange` | `97` | Widget's font has changed.
`QEvent::Hide` | `18` | Widget was hidden (QHideEvent).
`QEvent::HideToParent` | `27` | A child widget has been hidden.
`QEvent::HoverEnter` | `127` | The mouse cursor enters a hover widget (QHoverEvent).
`QEvent::HoverLeave` | `128` | The mouse cursor leaves a hover widget (QHoverEvent).
`QEvent::HoverMove` | `129` | The mouse cursor moves inside a hover widget (QHoverEvent).
`QEvent::IconDrag` | `96` | The main icon of a window has been dragged away (QIconDragEvent).
`QEvent::IconTextChange` | `101` | Widget's icon text has been changed.
`QEvent::InputMethod` | `83` | An input method is being used (QInputMethodEvent).
`QEvent::KeyPress` | `6` | Key press (QKeyEvent).
`QEvent::KeyRelease` | `7` | Key release (QKeyEvent).
`QEvent::LanguageChange` | `89` | The application translation changed.
`QEvent::LayoutDirectionChange` | `90` | The direction of layouts changed.
`QEvent::LayoutRequest` | `76` | Widget layout needs to be redone.
`QEvent::Leave` | `11` | Mouse leaves widget's boundaries.
`QEvent::LeaveWhatsThisMode` | `125` | Send to toplevel widgets when the application leaves "What's This?" mode.
`QEvent::LocaleChange` | `88` | The system locale has changed.
`QEvent::MetaCall` | `43` | An asynchronous method invocation via QMetaObject::invokeMethod().
`QEvent::ModifiedChange` | `102` | Widgets modification state has been changed.
`QEvent::MouseButtonDblClick` | `4` | Mouse press again (QMouseEvent).
`QEvent::MouseButtonPress` | `2` | Mouse press (QMouseEvent).
`QEvent::MouseButtonRelease` | `3` | Mouse release (QMouseEvent).
`QEvent::MouseMove` | `5` | Mouse move (QMouseEvent).
`QEvent::MouseTrackingChange` | `109` | The mouse tracking state has changed.
`QEvent::Move` | `13` | Widget's position changed (QMoveEvent).
`QEvent::Paint` | `12` | Screen update necessary (QPaintEvent).
`QEvent::PaletteChange` | `39` | Palette of the widget changed.
`QEvent::ParentAboutToChange` | `131` | The widget parent is about to change.
`QEvent::ParentChange` | `21` | The widget parent has changed.
`QEvent::Polish` | `75` | The widget is polished.
`QEvent::PolishRequest` | `74` | The widget should be polished.
`QEvent::QueryWhatsThis` | `123` | The widget should accept the event if it has "What's This?" help.
`QEvent::Resize` | `14` | Widget's size changed (QResizeEvent).
`QEvent::Shortcut` | `117` | Key press in child for shortcut key handling (QShortcutEvent).
`QEvent::ShortcutOverride` | `51` | Key press in child, for overriding shortcut key handling (QKeyEvent).
`QEvent::Show` | `17` | Widget was shown on screen (QShowEvent).
`QEvent::ShowToParent` | `26` | A child widget has been shown.
`QEvent::SockAct` | `50` | Socket activated, used to implement QSocketNotifier.
`QEvent::StatusTip` | `112` | A status tip is requested (QStatusTipEvent).
`QEvent::StyleChange` | `100` | Widget's style has been changed.
`QEvent::TabletMove` | `87` | Wacom tablet move (QTabletEvent).
`QEvent::TabletPress` | `92` | Wacom tablet press (QTabletEvent).
`QEvent::TabletRelease` | `93` | Wacom tablet release (QTabletEvent).
`QEvent::Timer` | `1` | Regular timer events (QTimerEvent).
`QEvent::ToolBarChange` | `120` | The toolbar button is toggled on Mac OS X.
`QEvent::ToolTip` | `110` | A tooltip was requested (QHelpEvent).
`QEvent::UpdateRequest` | `77` | The widget should be repainted.
`QEvent::WhatsThis` | `111` | The widget should reveal "What's This?" help (QHelpEvent).
`QEvent::WhatsThisClicked` | `118` | A link in a widget's "What's This?" help was clicked.
`QEvent::Wheel` | `31` | Mouse wheel rolled (QWheelEvent).
`QEvent::WinEventAct` | `132` | A Windows-specific activation event has occurred.
`QEvent::WindowActivate` | `24` | Window was activated.
`QEvent::WindowBlocked` | `103` | The window is blocked by a modal dialog.
`QEvent::WindowDeactivate` | `25` | Window was deactivated.
`QEvent::WindowIconChange` | `34` | The window's icon has changed.
`QEvent::WindowStateChange` | `105` | The window's state (minimized, maximized or full-screen) has changed (QWindowStateChangeEvent).
`QEvent::WindowTitleChange` | `33` | The window title has changed.
`QEvent::WindowUnblocked` | `104` | The window is unblocked after a modal dialog exited.
`QEvent::ZOrderChange` | `126` | The widget's z-order has changed. This event is never sent to top level windows.

User events should have values between `User` and `MaxUser`:

Constant | Value | Description
--- | --- | ---
`QEvent::User` | `1000` | User-defined event.
`QEvent::MaxUser` | `65535` | Last user event ID.

## Property Documentation

### accepted : bool

the accept flag of the event object

Setting the accept parameter indicates that the event receiver wants the event. Unwanted events might be propagated to the parent widget. By default, isAccepted() is set to true, but don't rely on this as subclasses may choose to clear it in their constructor.

For convenience, the accept flag can also be set with accept(), and cleared with ignore().

Access functions:

- bool isAccepted () const
- void setAccepted ( bool accepted )

## Member Function Documentation

### QEvent::QEvent ( Type type )

Contructs an event object of type type.

### QEvent::~QEvent () `[virtual]`

Destroys the event. If it was posted, it will be removed from the list of events to be posted.

### void QEvent::accept ()

Sets the accept flag of the event object, the equivalent of callign setAccepted(true).

Setting the accept parameter indicates that the event receiver wants the event. Unwanted events might be propagated to the parent widget.

See also ignore().

### void QEvent::ignore ()

Clears the accept flag parameter of the event object, the equivalent of calling setAccepted(false).

Clearing the accept parameter indicates that the event receiver does not want the event. Unwanted events might be propgated to the parent widget.

See also accept().

### bool QEvent::spontaneous () const

Returns true if the event originated outside the application (a system event); otherwise returns false.

The return value of this function is not defined for paint events.

### Type QEvent::type () const

Returns the event type.