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())从事件队列中检索本地窗口系统事件,将它们转换为Q事件,并将转换后的事件发送到QObject

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

QObjects通过其event()函数接收事件。该函数可以在子类中重写以自定义事件处理和添加额外的事件类型;QWidget::event()是一个值得注意的例子。默认情况下,事件被分发到事件处理器,如timerEvent()和QWidget::mouseMoveEvent()。通过installEventFilter(),对象可以拦截目的地为另一个对象的事件。

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

《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

此部件或窗口的基础后端 backing store 的 devicePixelRatio 已更改。

QEvent.DragEnter

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

QEvent.DragLeave

光标在拖放操作(QDragLeaveEvent)过程中离开窗口小部件。

QEvent.DragMove

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

QEvent.Drop

拖放操作完成(QDropEvent)。

QEvent.DynamicPropertyChange

从对象中添加、更改或删除了动态属性。

QEvent.EnabledChange

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

QEvent.Enter

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

QEvent.EnterEditFocus

编辑器窗口小部件获得编辑焦点。《code class="docutils literal notranslate">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

套接字激活,用于实现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)#
参数:

typeType

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

__init__(arg__1)
参数:

arg__1QEvent

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

__repr__()#
返回类型:

对象

accept()#

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

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

有关更多信息,请参阅:

ignore()

clone()#
返回类型:

QEvent

创建并返回一个与该事件完全相同的副本。

ignore()#

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

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

有关更多信息,请参阅:

accept()

isAccepted()#
返回类型:

布尔值

isInputEvent()#
返回类型:

布尔值

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

isPointerEvent()#
返回类型:

布尔值

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

isSinglePointEvent()#
返回类型:

布尔值

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

静态 registerEventType([hint=-1])#
参数:

hint – int

返回类型:

int

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

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

setAccepted(accepted)#
参数:

accepted – bool

有关更多信息,请参阅:

isAccepted()

spontaneous()#
返回类型:

布尔值

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

type()#
返回类型:

类型

返回事件类型。