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
概要¶
方法¶
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()
)从事件队列中获取本地窗口系统事件,将它们转换为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顺序已更改。此事件永远不会发送到顶层窗口。
用户事件的值应在
User
和MaxUser
之间:常量
描述
QEvent.User
用户自定义事件。
QEvent.MaxUser
最后一个用户事件ID。
为了方便,您可以使用
registerEventType()
函数为您的应用程序注册并保留一个自定义事件类型。这样做可以避免意外地重复使用已在应用程序其他地方使用的自定义事件类型。
构造一个类型为
type
的事件对象。- __init__(type)
- Parameters:
类型 –
QEvent
构造一个类型为
type
的事件对象。- __repr__()¶
- Return type:
字符串
- accept()¶
设置事件对象的接受标志,相当于调用
setAccepted
(true)。设置accept参数表示事件接收器希望接收该事件。不需要的事件可能会传播到父部件。
另请参阅
创建并返回此事件的相同副本。
- ignore()¶
清除事件对象的接受标志参数,相当于调用
setAccepted
(false)。清除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
,则使用它,否则返回一个介于User
和MaxUser
之间的未注册值。如果hint
的值不在User
和MaxUser
之间,则忽略它。如果所有可用值已被占用或程序正在关闭,则返回-1。
- setAccepted(accepted)¶
- Parameters:
accepted – 布尔值
另请参阅
- spontaneous()¶
- Return type:
布尔
如果事件源自应用程序外部(系统事件),则返回
true
;否则返回false
。返回事件类型。