IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QEvent Class

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

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QEvent Class

Detailed Description

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

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::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::ApplicationActivate

121

This enum has been deprecated. Use ApplicationStateChange instead.

QEvent::ApplicationActivated

ApplicationActivate

This enum has been deprecated. Use ApplicationStateChange instead.

QEvent::ApplicationDeactivate

122

This enum has been deprecated. Use ApplicationStateChange instead.

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::ApplicationStateChange

214

The state of the application 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.

QEvent::Close

19

Widget was closed (QCloseEvent).

QEvent::CloseSoftwareInputPanel

200

A widget wants to close the software input panel (SIP).

QEvent::ContentsRectChange

178

The margins of the widget's content rect changed.

QEvent::ContextMenu

82

Context popup menu (QContextMenuEvent).

QEvent::CursorChange

183

The widget's cursor has changed.

QEvent::DeferredDelete

52

The object will be deleted after it has cleaned up (QDeferredDeleteEvent)

QEvent::DragEnter

60

The cursor enters a widget during a drag and drop operation (QDragEnterEvent).

QEvent::DragLeave

62

The cursor leaves a widget during a drag and drop operation (QDragLeaveEvent).

QEvent::DragMove

61

A drag and drop operation is in progress (QDragMoveEvent).

QEvent::Drop

63

A drag and drop operation is completed (QDropEvent).

QEvent::DynamicPropertyChange

170

A dynamic property was added, changed, or removed from the object.

QEvent::EnabledChange

98

Widget's enabled state has changed.

QEvent::Enter

10

Mouse enters widget's boundaries (QEnterEvent).

QEvent::EnterEditFocus

150

An editor widget gains focus for editing. QT_KEYPAD_NAVIGATION must be defined.

QEvent::EnterWhatsThisMode

124

Send to toplevel widgets when the application enters "What's This?" mode.

QEvent::Expose

206

Sent to a window when its on-screen contents are invalidated and need to be flushed from the backing store.

QEvent::FileOpen

116

File open request (QFileOpenEvent).

QEvent::FocusIn

8

Widget or Window gains keyboard focus (QFocusEvent).

QEvent::FocusOut

9

Widget or Window loses keyboard focus (QFocusEvent).

QEvent::FocusAboutToChange

23

Widget or Window focus is about to change (QFocusEvent)

QEvent::FontChange

97

Widget's font has changed.

QEvent::Gesture

198

A gesture was triggered (QGestureEvent).

QEvent::GestureOverride

202

A gesture override was triggered (QGestureEvent).

QEvent::GrabKeyboard

188

Item gains keyboard grab (QGraphicsItem only).

QEvent::GrabMouse

186

Item gains mouse grab (QGraphicsItem only).

QEvent::GraphicsSceneContextMenu

159

Context popup menu over a graphics scene (QGraphicsSceneContextMenuEvent).

QEvent::GraphicsSceneDragEnter

164

The cursor enters a graphics scene during a drag and drop operation (QGraphicsSceneDragDropEvent).

QEvent::GraphicsSceneDragLeave

166

The cursor leaves a graphics scene during a drag and drop operation (QGraphicsSceneDragDropEvent).

QEvent::GraphicsSceneDragMove

165

A drag and drop operation is in progress over a scene (QGraphicsSceneDragDropEvent).

QEvent::GraphicsSceneDrop

167

A drag and drop operation is completed over a scene (QGraphicsSceneDragDropEvent).

QEvent::GraphicsSceneHelp

163

The user requests help for a graphics scene (QHelpEvent).

QEvent::GraphicsSceneHoverEnter

160

The mouse cursor enters a hover item in a graphics scene (QGraphicsSceneHoverEvent).

QEvent::GraphicsSceneHoverLeave

162

The mouse cursor leaves a hover item in a graphics scene (QGraphicsSceneHoverEvent).

QEvent::GraphicsSceneHoverMove

161

The mouse cursor moves inside a hover item in a graphics scene (QGraphicsSceneHoverEvent).

QEvent::GraphicsSceneMouseDoubleClick

158

Mouse press again (double click) in a graphics scene (QGraphicsSceneMouseEvent).

QEvent::GraphicsSceneMouseMove

155

Move mouse in a graphics scene (QGraphicsSceneMouseEvent).

QEvent::GraphicsSceneMousePress

156

Mouse press in a graphics scene (QGraphicsSceneMouseEvent).

QEvent::GraphicsSceneMouseRelease

157

Mouse release in a graphics scene (QGraphicsSceneMouseEvent).

QEvent::GraphicsSceneMove

182

Widget was moved (QGraphicsSceneMoveEvent).

QEvent::GraphicsSceneResize

181

Widget was resized (QGraphicsSceneResizeEvent).

QEvent::GraphicsSceneWheel

168

Mouse wheel rolled in a graphics scene (QGraphicsSceneWheelEvent).

QEvent::GraphicsSceneLeave

220

The cursor leaves a graphics scene (QGraphicsSceneWheelEvent).

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. (Deprecated)

QEvent::InputMethod

83

An input method is being used (QInputMethodEvent).

QEvent::InputMethodQuery

207

A input method query event (QInputMethodQueryEvent)

QEvent::KeyboardLayoutChange

169

The keyboard layout has changed.

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::LeaveEditFocus

151

An editor widget loses focus for editing. QT_KEYPAD_NAVIGATION must be defined.

QEvent::LeaveWhatsThisMode

125

Send to toplevel widgets when the application leaves "What's This?" mode.

QEvent::LocaleChange

88

The system locale has changed.

QEvent::NonClientAreaMouseButtonDblClick

176

A mouse double click occurred outside the client area (QMouseEvent).

QEvent::NonClientAreaMouseButtonPress

174

A mouse button press occurred outside the client area (QMouseEvent).

QEvent::NonClientAreaMouseButtonRelease

175

A mouse button release occurred outside the client area (QMouseEvent).

QEvent::NonClientAreaMouseMove

173

A mouse move occurred outside the client area (QMouseEvent).

QEvent::MacSizeChange

177

The user changed his widget sizes (macOS only).

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::NativeGesture

197

The system has detected a gesture (QNativeGestureEvent).

QEvent::OrientationChange

208

The screens orientation has changes (QScreenOrientationChangeEvent).

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::PlatformPanel

212

A platform specific panel has been requested.

QEvent::PlatformSurface

217

A native platform surface has been created or is about to be destroyed (QPlatformSurfaceEvent).

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 (QHelpEvent).

QEvent::Quit

20

The application has exited.

QEvent::ReadOnlyChange (since Qt 5.4)

106

Widget's read-only state has changed.

QEvent::RequestSoftwareInputPanel

199

A widget wants to open a software input panel (SIP).

QEvent::Resize

14

Widget's size changed (QResizeEvent).

QEvent::ScrollPrepare

204

The object needs to fill in its geometry information (QScrollPrepareEvent).

QEvent::Scroll

205

The object needs to scroll to the supplied position (QScrollEvent).

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). When a shortcut is about to trigger, ShortcutOverride is sent to the active window. This allows clients (e.g. widgets) to signal that they will handle the shortcut themselves, by accepting the event. If the shortcut override is accepted, the event is delivered as a normal key press to the focus widget. Otherwise, it triggers the shortcut action, if one exists.

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::StateMachineSignal

192

A signal delivered to a state machine (QStateMachine::SignalEvent).

QEvent::StateMachineWrapped

193

The event is a wrapper for, i.e., contains, another event (QStateMachine::WrappedEvent).

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::TabletEnterProximity

171

Wacom tablet enter proximity event (QTabletEvent), sent to QApplication.

QEvent::TabletLeaveProximity

172

Wacom tablet leave proximity event (QTabletEvent), sent to QApplication.

QEvent::TabletTrackingChange (since Qt 5.9)

219

The Wacom tablet tracking state has changed.

QEvent::ThreadChange

22

The object is moved to another thread. This is the last event sent to this object in the previous thread. See QObject::moveToThread().

QEvent::Timer

1

Regular timer events (QTimerEvent).

QEvent::ToolBarChange

120

The toolbar button is toggled on macOS.

QEvent::ToolTip

110

A tooltip was requested (QHelpEvent).

QEvent::ToolTipChange

184

The widget's tooltip has changed.

QEvent::TouchBegin

194

Beginning of a sequence of touch-screen or track-pad events (QTouchEvent).

QEvent::TouchCancel

209

Cancellation of touch-event sequence (QTouchEvent).

QEvent::TouchEnd

196

End of touch-event sequence (QTouchEvent).

QEvent::TouchUpdate

195

Touch-screen event (QTouchEvent).

QEvent::UngrabKeyboard

189

Item loses keyboard grab (QGraphicsItem only).

QEvent::UngrabMouse

187

Item loses mouse grab (QGraphicsItem, QQuickItem).

QEvent::UpdateLater

78

The widget should be queued to be repainted at a later time.

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::WinIdChange

203

The window system identifier for this native widget has changed.

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.

For convenience, you can use the registerEventType() function to register and reserve a custom event type for your application. Doing so will allow you to avoid accidentally re-using a custom event type already in use elsewhere in your application.

Property Documentation

 

accepted : bool

This property holds 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().

Accepting a QPointerEvent implicitly accepts all the points that the event carries.

Access functions:

  • bool isAccepted() const

  • virtual void setAccepted(bool accepted)

Member Function Documentation

 

[explicit] QEvent::QEvent(QEvent::Type type)

Constructs an event object of type type.

[virtual] QEvent::~QEvent()

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 calling 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

See also ignore()

[virtual, since 6.0] QEvent *QEvent::clone() const

Creates and returns an identical copy of this event.

This function was introduced in Qt 6.0.

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 propagated to the parent widget.

See Also

See also accept()

[since 6.0] bool QEvent::isInputEvent() const

Returns true if the event object is a QInputEvent or one of its subclasses.

This function was introduced in Qt 6.0.

[since 6.0] bool QEvent::isPointerEvent() const

Returns true if the event object is a QPointerEvent or one of its subclasses.

This function was introduced in Qt 6.0.

[since 6.0] bool QEvent::isSinglePointEvent() const

Returns true if the event object is a subclass of QSinglePointEvent.

This function was introduced in Qt 6.0.

[static] int QEvent::registerEventType(int hint = -1)

Registers and returns a custom event type. The hint provided will be used if it is available, otherwise it will return a value between QEvent::User and QEvent::MaxUser that has not yet been registered. The hint is ignored if its value is not between QEvent::User and QEvent::MaxUser.

Returns -1 if all available values are already taken or the program is shutting down.

This function is thread-safe.

bool QEvent::spontaneous() const

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

QEvent::Type QEvent::type() const

Returns the event type.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+