返回介绍

QEvent类

发布于 2019-10-04 15:00:13 字数 6133 浏览 1355 评论 0 收藏 0

QEvent类是所有事件类的基类。事件类包含事件参数。 详情请见……

#include <qevent.h>

继承了Qt。

由QTimerEvent、QMouseEvent、QWheelEvent、QTabletEvent、QKeyEvent、QFocusEvent、QPaintEvent、QMoveEvent、QResizeEvent、QCloseEvent、QShowEvent、QHideEvent、QContextMenuEvent、QIMEvent、QDropEvent、QDragLeaveEvent、QChildEvent和QCustomEvent继承。

所有成员函数的列表。

公有成员

  • enum Type { None = 0, Timer = 1, MouseButtonPress = 2, MouseButtonRelease = 3, MouseButtonDblClick = 4, MouseMove = 5, KeyPress = 6, KeyRelease = 7, FocusIn = 8, FocusOut = 9, Enter = 10, Leave = 11, Paint = 12, Move = 13, Resize = 14, Create = 15, Destroy = 16, Show = 17, Hide = 18, Close = 19, Quit = 20, Reparent = 21, ShowMinimized = 22, ShowNormal = 23, WindowActivate = 24, WindowDeactivate = 25, ShowToParent = 26, HideToParent = 27, ShowMaximized = 28, ShowFullScreen = 29, Accel = 30, Wheel = 31, AccelAvailable = 32, CaptionChange = 33, IconChange = 34, ParentFontChange = 35, ApplicationFontChange = 36, ParentPaletteChange = 37, ApplicationPaletteChange = 38, PaletteChange = 39, Clipboard = 40, Speech = 42, SockAct = 50, AccelOverride = 51, DeferredDelete = 52, DragEnter = 60, DragMove = 61, DragLeave = 62, Drop = 63, DragResponse = 64, ChildInserted = 70, ChildRemoved = 71, LayoutHint = 72, ShowWindowRequest = 73, ActivateControl = 80, DeactivateControl = 81, ContextMenu = 82, IMStart = 83, IMCompose = 84, IMEnd = 85, Accessibility = 86, Tablet = 87, User = 1000, MaxUser = 65535 } (obsolete)
  • QEvent ( Typetype )
  • Type type () const
  • bool spontaneous () const

详细描述

QEvent类是所有事件类的基类。事件类包含事件参数。

Qt的主事件回路(QApplication::exec())从事件队列里取得本地窗口系统事件,并把它们转换为QEvent并且把这些转换过的事件发给QObject。

通常情况下,来自于窗口系统的事件(spontaneous()返回真),但是它也可以使用QApplication::sendEvent()和QApplication::postEvent()手动发送事件(spontaneous()返回假)。

QObject通过它们的QObject::event()函数调用来接收事件。这个函数可以在子类中重新实现来处理自定义的事件和添加额外的事件类型,QWidget::event()就是一个着名的例子。默认情况下,像QObject::timerEvent()和QWidget::mouseMoveEvent()这样的事件可以被发送给事件处理函数。QObject::installEventFilter()允许一个对象中途截取发往另一个对象的事件。

基本的QEvent只包含了一个事件类型参数。QEvent的子类包含了额外的描述特定事件的参数。

也可以参考QObject::event()、QObject::installEventFilter()、QWidget::event()、QApplication::sendEvent()、a href="qapplication.html#postEvent">QApplication::postEvent()、QApplication::processEvents()、Environment Classes和事件类。


成员类型文档

QEvent::Type

这个枚举类型定义了Qt中有效的事件类型。事件类型和每个类型的专门类如下:

  • QEvent::None - 不是一个事件。
  • QEvent::Accessibility - 可存取性信息被请求。
  • QEvent::Timer - 规则的定时器事件,QTimerEvent。
  • QEvent::MouseButtonPress - 鼠标按下,QMouseEvent。
  • QEvent::MouseButtonRelease - 鼠标抬起,QMouseEvent。
  • QEvent::MouseButtonDblClick - 鼠标再次按下,a href="qmouseevent.html">QMouseEvent。
  • QEvent::MouseMove - 鼠标移动,QMouseEvent。
  • QEvent::KeyPress - 键按下(举例,包括Shift)QKeyEvent。
  • QEvent::KeyRelease - 键抬起,QKeyEvent。
  • QEvent::IMStart - 输入法写作开始。
  • QEvent::IMCompose - 发生输入法写作。
  • QEvent::IMEnd - 输入法写作结束。
  • QEvent::FocusIn - 窗口部件获得键盘焦点,QFocusEvent。
  • QEvent::FocusOut - 窗口部件失去键盘焦点,QFocusEvent。
  • QEvent::Enter - 鼠标进入窗口部件边缘。
  • QEvent::Leave - 鼠标离开窗口部件边缘。
  • QEvent::Paint - 屏幕更新所需要的,QPaintEvent。
  • QEvent::Move - 窗口部件位置改变了,QMoveEvent。
  • QEvent::Resize - 窗口部件大小改变了,QResizeEvent。
  • QEvent::Show - 窗口部件被显示到屏幕上,QShowEvent。
  • QEvent::Hide - 窗口部件被隐藏,QHideEvent。
  • QEvent::ShowToParent - 一个子窗口部件被显示。
  • QEvent::HideToParent - 一个子窗口部件被隐藏。
  • QEvent::Close - 窗口部件被关闭(永久性地) QCloseEvent。
  • QEvent::ShowNormal - 窗口部件应该按通常模式显示。
  • QEvent::ShowMaximized - 窗口部件应该按最大化模式显示。
  • QEvent::ShowMinimized - 窗口部件应该按最小化模式显示。
  • QEvent::ShowFullScreen - 窗口部件应该按全屏模式显示。
  • QEvent::ShowWindowRequest - 窗口部件窗口应该被显示。这个类型是废弃的。它的提供是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
  • QEvent::DeferredDelete - 在这个对象被清理干净之后,它将被删除。
  • QEvent::Accel - 孩子中的键按下,用于快捷键处理。QKeyEvent。
  • QEvent::Wheel - 鼠标滚轮转动,QWheelEvent。
  • QEvent::ContextMenu - 上下文弹出菜单,QContextMenuEvent。
  • QEvent::AccelAvailable - 在一些平台上Qt使用的内部事件。
  • QEvent::AccelOverride - Key press in child, for overriding shortcut key handling, QKeyEvent.
  • QEvent::WindowActivate - 窗口被激活了。
  • QEvent::WindowDeactivate - 窗口被停用了。
  • QEvent::CaptionChange - 窗口部件的标题改变了。
  • QEvent::IconChange - 窗口部件的图标改变了。
  • QEvent::ParentFontChange - 父窗口部件的字体改变了。
  • QEvent::ApplicationFontChange - 默认的应用程序字体改变了。
  • QEvent::PaletteChange - 窗口部件的调色板改变了。
  • QEvent::ParentPaletteChange - 父窗口部件的调色板改变了。
  • QEvent::ApplicationPaletteChange - 默认的应用程序调色板改变了。
  • QEvent::Clipboard - 剪贴板内容发生改变,QClipboard。
  • QEvent::SockAct - 套接字触发,通常在QSocketNotifier中实现。
  • QEvent::DragEnter - 一个拖拽进入了一个窗口部件,QDragEnterEvent。
  • QEvent::DragMove - 一个拖拽正在进行中,QDragMoveEvent。
  • QEvent::DragLeave - 一个拖拽离开了窗口部件,QDragLeaveEvent。
  • QEvent::Drop - 一个拖拽完成了,QDropEvent。
  • QEvent::DragResponse - 在一些平台上Qt使用的内部事件。
  • QEvent::ChildInserted - 对象得到了一个孩子,QChildEvent。
  • QEvent::ChildRemoved - 对象失去了一个孩子,QChildEvent。
  • QEvent::LayoutHint - 窗口部件孩子改变了布局属性。
  • QEvent::ActivateControl - 在一些平台上Qt使用的内部事件。
  • QEvent::DeactivateControl - 在一些平台上Qt使用的内部事件。
  • QEvent::Quit - 保留的。
  • QEvent::Create - 保留的。
  • QEvent::Destroy - 保留的。
  • QEvent::Reparent - 保留的。
  • QEvent::Speech - 为语音输入而保留的。
  • QEvent::Tablet - Wacom Tablet事件。
  • QEvent::User - 用户定义事件。
  • QEvent::MaxUser - 最后用户事件id。

用户事件应该包含User和MaxUser值。


成员函数文档

QEvent::QEvent ( Typetype )

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

bool QEvent::spontaneous () const

如果事件由应用程序之外产生的,比如一个系统事件,返回真,否则返回假。

Type QEvent::type () const

返回事件类型。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文