- 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
概述#
方法#
def
__init__()
def
__repr__()
def
accept()
def
ignore()
def
isAccepted()
def
isInputEvent()
def
isPointerEvent()
def
spontaneous()
def
type()
虚函数#
def
clone()
def
setAccepted()
静态函数#
注意
本文档可能包含从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》的子类包含额外的参数,用于描述特定的事件。
有关更多信息,请参阅:
event()
installEventFilter()
sendEvent()
postEvent()
processEvents()
- 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顺序已更改。该事件永远不会发送到顶级窗口。
用户事件应在
User
和MaxUser
常量
描述
QEvent.User
用户定义的事件。
QEvent.MaxUser
最后一个用户事件ID。
为了方便起见,您可以使用
registerEventType()
函数为您的应用程序注册和预留一个自定义事件类型。这样做可以避免在应用程序的其他地方意外重用已使用的自定义事件类型。
构建一个类型为
type
的事件对象。- __init__(arg__1)
- 参数:
arg__1 –
QEvent
构建一个类型为
type
的事件对象。- __repr__()#
- 返回类型:
对象
- accept()#
设置事件对象的 accept 标志,相当于调用
setAccepted
(true)。设置 accept 参数表示事件接收器希望接收该事件。不希望的事件可能会传播到父小部件。
有关更多信息,请参阅:
创建并返回一个与该事件完全相同的副本。
- ignore()#
清除事件对象的 accept 标志参数,相当于调用
setAccepted
(false)。清除 accept 参数表示事件接收器不希望接收该事件。不希望的事件可能会传播到父小部件。
有关更多信息,请参阅:
- isAccepted()#
- 返回类型:
布尔值
- isInputEvent()#
- 返回类型:
布尔值
如果事件对象是 QInputEvent 或其子类,则返回
true
。- isPointerEvent()#
- 返回类型:
布尔值
如果事件对象是 QPointerEvent 或其子类,则返回
true
。- isSinglePointEvent()#
- 返回类型:
布尔值
如果事件对象是 QSinglePointEvent 的子类,则返回
true
。- 静态 registerEventType([hint=-1])#
- 参数:
hint – int
- 返回类型:
int
注册并返回一个自定义事件类型。如果提供了
hint
,并且可用,则将使用它,否则将返回介于User
和MaxUser
之间尚未注册的值。如果其值不在User
和MaxUser
之间,则会忽略hint
。如果所有可用值都已占用或程序正在关闭,则返回-1。
- setAccepted(accepted)#
- 参数:
accepted – bool
有关更多信息,请参阅:
- spontaneous()#
- 返回类型:
布尔值
如果事件起源于应用程序之外(系统事件),则返回
true
;否则返回false
。返回事件类型。