QEvent(3) The base class of all event classes. Event objects contain event parameters


#include <qevent.h>

Inherits Qt.

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

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, WindowBlocked = 74, WindowUnblocked = 75, ActivateControl = 80, DeactivateControl = 81, ContextMenu = 82, IMStart = 83, IMCompose = 84, IMEnd = 85, Accessibility = 86, TabletMove = 87, LocaleChange = 88, LanguageChange = 89, LayoutDirectionChange = 90, Style = 91, TabletPress = 92, TabletRelease = 93, OkRequest = 94, HelpRequest = 95, WindowStateChange = 96, IconDrag = 97, User = 1000, MaxUser = 65535 }

QEvent ( Type type )

virtual ~QEvent ()

Type type () const

bool spontaneous () const


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

Qt's main event loop (QApplication::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 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 destined for 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


This enum type defines the valid event types in Qt. The event types and the specialized classes for each type are these:
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, QIMEvent.
QEvent::IMCompose - Input method composition is taking place, QIMEvent.
QEvent::IMEnd - The end of input method composition, QIMEvent.
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 (obsolete).
QEvent::ShowMaximized - Widget should be shown maximized (obsolete).
QEvent::ShowMinimized - Widget should be shown minimized (obsolete).
QEvent::ShowFullScreen - Widget should be shown full-screen (obsolete).
QEvent::ShowWindowRequest - Widget's window should be shown (obsolete).
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::AccelOverride - Key press in child, for overriding shortcut key handling, QKeyEvent.
QEvent::AccelAvailable - internal.
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::LanguageChange - The application translation changed, QTranslator
QEvent::LayoutDirectionChange - The direction of layouts changed
QEvent::LocaleChange - The system locale changed
QEvent::Quit - Reserved.
QEvent::Create - Reserved.
QEvent::Destroy - Reserved.
QEvent::Reparent - Reserved.
QEvent::Speech - Reserved for speech input.
QEvent::TabletMove - A Wacom Tablet Move Event.
QEvent::Style - Internal use only
QEvent::TabletPress - A Wacom Tablet Press Event
QEvent::TabletRelease - A Wacom Tablet Release Event
QEvent::OkRequest - Internal event used by Qt on some platforms.
QEvent::HelpRequest - Internal event used by Qt on some platforms.
QEvent::IconDrag - Internal event used by Qt on some platforms when proxy icon is dragged.
QEvent::WindowStateChange - The window's state, i.e. minimized, maximized or full-screen, has changed. See QWidget::windowState().
QEvent::WindowBlocked - The window is modally blocked
QEvent::WindowUnblocked - The window leaves modal blocking
QEvent::User - User defined event.
QEvent::MaxUser - Last user event id.

User events should have values between User and MaxUser inclusive.


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.

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.


Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.


Generated automatically from the source code.


If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to [email protected]. Please include the name of the manual page (qevent.3qt) and the Qt version (3.3.8).