PySide6.QtCore.QEvent

class QEvent

QEvent 类是所有事件类的基类。事件对象包含事件参数。更多

Inherited by: QGraphicsSceneEvent, QGraphicsSceneWheelEvent, QGraphicsSceneResizeEvent, QGraphicsSceneMoveEvent, QGraphicsSceneMouseEvent, QGraphicsSceneHoverEvent, QGraphicsSceneHelpEvent, QGraphicsSceneDragDropEvent, QGraphicsSceneContextMenuEvent, QGestureEvent, WrappedEvent, SignalEvent, QWindowStateChangeEvent, QWhatsThisClickedEvent, QToolBarChangeEvent, QStatusTipEvent, QShowEvent, QShortcutEvent, QScrollPrepareEvent, QScrollEvent, QResizeEvent, QPlatformSurfaceEvent, QPaintEvent, QMoveEvent, QInputMethodQueryEvent, QInputMethodEvent, QInputEvent, QPointerEvent, QTouchEvent, QSinglePointEvent, QWheelEvent, QTabletEvent, QNativeGestureEvent, QMouseEvent, QHoverEvent, QEnterEvent, QKeyEvent, QContextMenuEvent, QIconDragEvent, QHideEvent, QHelpEvent, QFocusEvent, QFileOpenEvent, QExposeEvent, QDropEvent, QDragMoveEvent, QDragEnterEvent, QDragLeaveEvent, QCloseEvent, QChildWindowEvent, QActionEvent, QTimerEvent, QDynamicPropertyChangeEvent, QChildEvent

概要

方法

虚拟方法

静态函数

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

Qt的主事件循环(exec())从事件队列中获取本地窗口系统事件,将它们转换为QEvents,并将转换后的事件发送到QObject

通常,事件来自底层的窗口系统(spontaneous() 返回 true),但也可以使用 sendEvent()postEvent() 手动发送事件(spontaneous() 返回 false)。

QObjects 通过调用它们的 event() 函数来接收事件。该函数可以在子类中重新实现,以自定义事件处理并添加额外的事件类型;QWidget::event() 是一个显著的例子。默认情况下,事件会被分派到事件处理程序,如 timerEvent() 和 QWidget::mouseMoveEvent()。installEventFilter() 允许一个对象拦截发送给另一个对象的事件。

基本的 QEvent 只包含一个事件类型参数和一个“接受”标志。接受标志通过 accept() 设置,并通过 ignore() 清除。它默认是设置的,但不要依赖这一点,因为子类可能会选择在其构造函数中清除它。

QEvent 的子类包含描述特定事件的附加参数。

class Type

(继承自 enum.IntEnum) 此枚举类型定义了 Qt 中的有效事件类型。事件类型及其对应的专用类如下:

常量

描述

QEvent.None

不是一个事件。

QEvent.ActionAdded

已添加新操作(QActionEvent)。

QEvent.ActionChanged

一个动作已被更改(QActionEvent)。

QEvent.ActionRemoved

一个动作已被移除(QActionEvent)。

QEvent.ActivationChange

小部件的顶层窗口激活状态已更改。

QEvent.ApplicationActivate

此枚举已被弃用。请改用 ApplicationStateChange。

QEvent.ApplicationActivated

此枚举已被弃用。请改用 ApplicationStateChange。

QEvent.ApplicationDeactivate

此枚举已被弃用。请改用 ApplicationStateChange。

QEvent.ApplicationFontChange

默认的应用程序字体已更改。

QEvent.ApplicationLayoutDirectionChange

默认的应用程序布局方向已更改。

QEvent.ApplicationPaletteChange

默认的应用程序调色板已更改。

QEvent.ApplicationStateChange

应用程序的状态已更改。

QEvent.ApplicationWindowIconChange

应用程序的图标已更改。

QEvent.ChildAdded

一个对象获得了一个子对象(QChildEvent)。

QEvent.ChildPolished

一个小部件子项被优化(QChildEvent)。

QEvent.ChildRemoved

一个对象失去了一个子对象(QChildEvent)。

QEvent.ChildWindowAdded

一个子窗口被添加到窗口中。

QEvent.ChildWindowRemoved

一个子窗口从窗口中移除。

QEvent.Clipboard

剪贴板内容已更改。

QEvent.Close

窗口部件已关闭(QCloseEvent)。

QEvent.CloseSoftwareInputPanel

一个部件想要关闭软件输入面板(SIP)。

QEvent.ContentsRectChange

小部件内容矩形的边距发生了变化。

QEvent.ContextMenu

上下文弹出菜单 (QContextMenuEvent)。

QEvent.CursorChange

小部件的光标已更改。

QEvent.DeferredDelete

对象将在清理后被删除(QDeferredDeleteEvent)

QEvent.DevicePixelRatioChange

此小部件或窗口的基础后备存储的devicePixelRatio已更改。

QEvent.DragEnter

在拖放操作期间,光标进入一个小部件(QDragEnterEvent)。

QEvent.DragLeave

在拖放操作期间,光标离开一个小部件(QDragLeaveEvent)。

QEvent.DragMove

正在进行拖放操作(QDragMoveEvent)。

QEvent.Drop

拖放操作已完成(QDropEvent)。

QEvent.DynamicPropertyChange

对象的动态属性被添加、更改或移除。

QEvent.EnabledChange

小部件的启用状态已更改。

QEvent.Enter

鼠标进入小部件的边界(QEnterEvent)。

QEvent.EnterEditFocus

编辑器小部件获得焦点进行编辑。QT_KEYPAD_NAVIGATION 必须被定义。

QEvent.EnterWhatsThisMode

当应用程序进入“这是什么?”模式时,发送给顶层小部件。

QEvent.Expose

当窗口的屏幕内容无效并需要从后备存储中刷新时发送给窗口。

QEvent.FileOpen

文件打开请求 (QFileOpenEvent)。

QEvent.FocusIn

小部件或窗口获得键盘焦点(QFocusEvent)。

QEvent.FocusOut

部件或窗口失去键盘焦点(QFocusEvent)。

QEvent.FocusAboutToChange

部件或窗口焦点即将改变 (QFocusEvent)

QEvent.FontChange

小部件的字体已更改。

QEvent.Gesture

手势被触发(QGestureEvent)。

QEvent.GestureOverride

手势覆盖被触发(QGestureEvent)。

QEvent.GrabKeyboard

项目获得键盘抓取(仅限QGraphicsItem)。

QEvent.GrabMouse

项目获得鼠标抓取(仅限QGraphicsItem)。

QEvent.GraphicsSceneContextMenu

在图形场景上弹出的上下文菜单(QGraphicsSceneContextMenuEvent)。

QEvent.GraphicsSceneDragEnter

光标在拖放操作期间进入图形场景(QGraphicsSceneDragDropEvent)。

QEvent.GraphicsSceneDragLeave

光标在拖放操作期间离开图形场景(QGraphicsSceneDragDropEvent)。

QEvent.GraphicsSceneDragMove

拖放操作正在场景上进行(QGraphicsSceneDragDropEvent)。

QEvent.GraphicsSceneDrop

在场景上完成了一个拖放操作(QGraphicsSceneDragDropEvent)。

QEvent.GraphicsSceneHelp

用户请求图形场景的帮助(QHelpEvent)。

QEvent.GraphicsSceneHoverEnter

鼠标光标进入图形场景中的悬停项(QGraphicsSceneHoverEvent)。

QEvent.GraphicsSceneHoverLeave

鼠标光标离开图形场景中的悬停项(QGraphicsSceneHoverEvent)。

QEvent.GraphicsSceneHoverMove

鼠标光标在图形场景中的悬停项内移动(QGraphicsSceneHoverEvent)。

QEvent.GraphicsSceneMouseDoubleClick

在图形场景中再次按下鼠标(双击)(QGraphicsSceneMouseEvent)。

QEvent.GraphicsSceneMouseMove

在图形场景中移动鼠标(QGraphicsSceneMouseEvent)。

QEvent.GraphicsSceneMousePress

在图形场景中按下鼠标(QGraphicsSceneMouseEvent)。

QEvent.GraphicsSceneMouseRelease

在图形场景中释放鼠标 (QGraphicsSceneMouseEvent)。

QEvent.GraphicsSceneMove

部件被移动(QGraphicsSceneMoveEvent)。

QEvent.GraphicsSceneResize

窗口部件已调整大小(QGraphicsSceneResizeEvent)。

QEvent.GraphicsSceneWheel

在图形场景中滚动鼠标滚轮(QGraphicsSceneWheelEvent)。

QEvent.GraphicsSceneLeave

光标离开图形场景(QGraphicsSceneWheelEvent)。

QEvent.Hide

部件被隐藏 (QHideEvent)。

QEvent.HideToParent

一个子部件已被隐藏。

QEvent.HoverEnter

鼠标光标进入一个悬停小部件(QHoverEvent)。

QEvent.HoverLeave

鼠标光标离开悬停部件(QHoverEvent)。

QEvent.HoverMove

鼠标光标在悬停部件内移动(QHoverEvent)。

QEvent.IconDrag

窗口的主图标已被拖走(QIconDragEvent)。

QEvent.IconTextChange

小部件的图标文本已更改。(已弃用)

QEvent.InputMethod

正在使用输入法(QInputMethodEvent)。

QEvent.InputMethodQuery

一个输入法查询事件 (QInputMethodQueryEvent)

QEvent.KeyboardLayoutChange

键盘布局已更改。

QEvent.KeyPress

按键按下 (QKeyEvent)。

QEvent.KeyRelease

按键释放(QKeyEvent)。

QEvent.LanguageChange

应用程序的翻译已更改。

QEvent.LayoutDirectionChange

布局的方向已更改。

QEvent.LayoutRequest

小部件布局需要重新进行。

QEvent.Leave

鼠标离开小部件的边界。

QEvent.LeaveEditFocus

编辑器小部件失去编辑焦点。必须定义QT_KEYPAD_NAVIGATION。

QEvent.LeaveWhatsThisMode

当应用程序退出“这是什么?”模式时,发送给顶层小部件。

QEvent.LocaleChange

系统区域设置已更改。

QEvent.NonClientAreaMouseButtonDblClick

在客户区域外发生了鼠标双击事件(QMouseEvent)。

QEvent.NonClientAreaMouseButtonPress

在客户端区域外发生了鼠标按钮按下事件(QMouseEvent)。

QEvent.NonClientAreaMouseButtonRelease

在客户区域外发生了鼠标按钮释放事件(QMouseEvent)。

QEvent.NonClientAreaMouseMove

在客户端区域外发生了鼠标移动(QMouseEvent)。

QEvent.MacSizeChange

用户更改了他的小部件大小(仅限macOS)。

QEvent.MetaCall

通过invokeMethod()进行的异步方法调用。

QEvent.ModifiedChange

小部件的修改状态已更改。

QEvent.MouseButtonDblClick

再次按下鼠标(QMouseEvent)。

QEvent.MouseButtonPress

鼠标按下 (QMouseEvent)。

QEvent.MouseButtonRelease

鼠标释放 (QMouseEvent)。

QEvent.MouseMove

鼠标移动 (QMouseEvent).

QEvent.MouseTrackingChange

鼠标跟踪状态已更改。

QEvent.Move

部件的位置发生了变化(QMoveEvent)。

QEvent.NativeGesture

系统检测到一个手势(QNativeGestureEvent)。

QEvent.OrientationChange

屏幕方向已更改(QScreenOrientationChangeEvent)。

QEvent.Paint

屏幕更新必要(QPaintEvent)。

QEvent.PaletteChange

小部件的调色板已更改。

QEvent.ParentAboutToChange

对象的父级即将改变。仅发送给某些对象类型,例如QWidget。

QEvent.ParentChange

对象的父级已更改。仅发送给某些对象类型,例如 QWidget。

QEvent.ParentWindowAboutToChange

父窗口即将更改。

QEvent.ParentWindowChange

父窗口已更改。

QEvent.PlatformPanel

已请求一个特定于平台的面板。

QEvent.PlatformSurface

一个本地平台表面已被创建或即将被销毁(QPlatformSurfaceEvent)。

QEvent.Polish

部件被抛光。

QEvent.PolishRequest

小部件应该被优化。

QEvent.QueryWhatsThis

如果小部件有“这是什么?”帮助(QHelpEvent),它应该接受该事件。

QEvent.Quit

应用程序已退出。

QEvent.ReadOnlyChange

小部件的只读状态已更改。

QEvent.RequestSoftwareInputPanel

一个小部件想要打开一个软件输入面板(SIP)。

QEvent.Resize

窗口部件的大小已更改(QResizeEvent)。

QEvent.ScrollPrepare

对象需要填写其几何信息(QScrollPrepareEvent)。

QEvent.Scroll

对象需要滚动到提供的位置(QScrollEvent)。

QEvent.Shortcut

用于快捷键处理的子控件中的按键事件(QShortcutEvent)。

QEvent.ShortcutOverride

在子组件中按下键,用于覆盖快捷键处理(QKeyEvent)。当快捷键即将触发时,ShortcutOverride 会被发送到活动窗口。这允许客户端(例如小部件)通过接受事件来表明它们将自行处理快捷键。如果快捷键覆盖被接受,事件将作为普通按键事件传递给焦点小部件。否则,如果存在快捷键操作,则会触发该操作。

QEvent.Show

部件在屏幕上显示(QShowEvent)。

QEvent.ShowToParent

子部件已显示。

QEvent.SockAct

Socket 激活,用于实现 QSocketNotifier

QEvent.StateMachineSignal

发送到状态机的信号(QStateMachine::SignalEvent)。

QEvent.StateMachineWrapped

该事件是一个包装器,即包含另一个事件(QStateMachine::WrappedEvent)。

QEvent.StatusTip

请求状态提示(QStatusTipEvent)。

QEvent.StyleChange

小部件的样式已更改。

QEvent.TabletMove

Wacom 数位板移动 (QTabletEvent)。

QEvent.TabletPress

Wacom 数位板按下 (QTabletEvent)。

QEvent.TabletRelease

Wacom 平板释放 (QTabletEvent)。

QEvent.TabletEnterProximity

Wacom 数位板进入接近事件 (QTabletEvent),发送到 QApplication。

QEvent.TabletLeaveProximity

Wacom 平板离开接近事件 (QTabletEvent),发送到 QApplication。

QEvent.TabletTrackingChange

Wacom 数位板的跟踪状态已更改。

QEvent.ThreadChange

对象被移动到另一个线程。这是在前一个线程中发送给该对象的最后一个事件。参见 moveToThread()

QEvent.Timer

常规定时器事件(QTimerEvent)。

QEvent.ToolBarChange

工具栏按钮在macOS上被切换。

QEvent.ToolTip

请求了一个工具提示(QHelpEvent)。

QEvent.ToolTipChange

小部件的工具提示已更改。

QEvent.TouchBegin

触摸屏或触控板事件序列的开始(QTouchEvent)。

QEvent.TouchCancel

触摸事件序列的取消(QTouchEvent)。

QEvent.TouchEnd

触摸事件序列的结束(QTouchEvent)。

QEvent.TouchUpdate

触摸屏事件 (QTouchEvent)。

QEvent.UngrabKeyboard

项目失去键盘抓取(仅限QGraphicsItem)。

QEvent.UngrabMouse

项目失去鼠标抓取(QGraphicsItem, QQuickItem)。

QEvent.UpdateLater

该小部件应排队以便稍后重新绘制。

QEvent.UpdateRequest

小部件应该被重新绘制。

QEvent.WhatsThis

小部件应显示“这是什么?”帮助(QHelpEvent)。

QEvent.WhatsThisClicked

小部件的“这是什么?”帮助中的链接被点击了。

QEvent.Wheel

鼠标滚轮滚动(QWheelEvent)。

QEvent.WinEventAct

发生了特定于Windows的激活事件。

QEvent.WindowActivate

窗口被激活。

QEvent.WindowBlocked

窗口被模态对话框阻塞。

QEvent.WindowDeactivate

窗口已停用。

QEvent.WindowIconChange

窗口的图标已更改。

QEvent.WindowStateChange

窗口的状态(最小化、最大化或全屏)已更改(QWindowStateChangeEvent)。

QEvent.WindowTitleChange

窗口标题已更改。

QEvent.WindowUnblocked

窗口在模态对话框退出后解除阻塞。

QEvent.WinIdChange

此原生小部件的窗口系统标识符已更改。

QEvent.ZOrderChange

小部件的z顺序已更改。此事件永远不会发送到顶层窗口。

用户事件的值应在UserMaxUser之间:

常量

描述

QEvent.User

用户自定义事件。

QEvent.MaxUser

最后一个用户事件ID。

为了方便,您可以使用registerEventType()函数为您的应用程序注册并保留一个自定义事件类型。这样做可以避免意外地重复使用已在应用程序其他地方使用的自定义事件类型。

__init__(type)
Parameters:

类型Type

构造一个类型为 type 的事件对象。

__init__(type)
Parameters:

类型QEvent

构造一个类型为 type 的事件对象。

__repr__()
Return type:

字符串

accept()

设置事件对象的接受标志,相当于调用 setAccepted (true)。

设置accept参数表示事件接收器希望接收该事件。不需要的事件可能会传播到父部件。

另请参阅

ignore()

clone()
Return type:

QEvent

创建并返回此事件的相同副本。

ignore()

清除事件对象的接受标志参数,相当于调用 setAccepted (false)。

清除accept参数表示事件接收者不希望接收该事件。不需要的事件可能会传播到父部件。

另请参阅

accept()

isAccepted()
Return type:

布尔

isInputEvent()
Return type:

布尔

如果事件对象是 QInputEvent 或其子类之一,则返回 true

isPointerEvent()
Return type:

布尔

如果事件对象是 QPointerEvent 或其子类之一,则返回 true

isSinglePointEvent()
Return type:

布尔

如果事件对象是 QSinglePointEvent 的子类,则返回 true

static registerEventType([hint=-1])
Parameters:

提示 – int

Return type:

整数

注册并返回一个自定义事件类型。如果提供了hint,则使用它,否则返回一个介于UserMaxUser之间的未注册值。如果hint的值不在UserMaxUser之间,则忽略它。

如果所有可用值已被占用或程序正在关闭,则返回-1。

setAccepted(accepted)
Parameters:

accepted – 布尔值

另请参阅

isAccepted()

spontaneous()
Return type:

布尔

如果事件源自应用程序外部(系统事件),则返回true;否则返回false

type()
Return type:

类型

返回事件类型。