Qt重载事件
2024-01-01 17:27:12
重载event
事件类型 (EventType
)
事件类型是 QEvent
类的一个枚举? ? ?,包含了 Qt 能够处理的所有不同类型的事件。这个枚举包括但不限于以下常见类型:
QEvent::MouseButtonPress
: 鼠标按钮按下事件。QEvent::MouseButtonRelease
: 鼠标按钮释放事件。QEvent::MouseMove
: 鼠标移动事件。QEvent::KeyPress
: 键盘按键按下事件。QEvent::KeyRelease
: 键盘按键释放事件。QEvent::Resize
: 窗口或控件尺寸调整事件。QEvent::Paint
: 绘制事件,需要重绘控件时发生。QEvent::Close
: 请求关闭窗口的事件。QEvent::Timer
: 定时器事件。QEvent::FocusIn
: 控件获得键盘焦点事件。QEvent::FocusOut
: 控件失去键盘焦点事件。
鼠标事件
Qt::NoButton
: 没有按钮被按下。Qt::LeftButton
: 鼠标左键。Qt::RightButton
: 鼠标右键。Qt::MiddleButton
: 鼠标中键(滚轮按钮)。Qt::BackButton
: 鼠标侧后退按钮。Qt::ForwardButton
: 鼠标侧前进按钮。
1.鼠标按下(Mouse Press)
QEvent::MouseButtonPress
: 当用户按下鼠标按钮时发生。可以通过重写mousePressEvent(QMouseEvent *event)
函数来处理这个事件。
2. 鼠标释放(Mouse Release)
QEvent::MouseButtonRelease
: 当用户释放鼠标按钮时发生。可以通过重写mouseReleaseEvent(QMouseEvent *event)
函数来处理这个事件。
3. 鼠标双击(Mouse Double Click)
QEvent::MouseButtonDblClick
: 当用户双击鼠标按钮时发生。可以通过重写mouseDoubleClickEvent(QMouseEvent *event)
函数来处理这个事件。
4. 鼠标移动(Mouse Move)
QEvent::MouseMove
: 当鼠标在组件上移动时发生。这个事件即使没有按钮被按下也会发生,但通常需要设置鼠标跟踪(通过QWidget::setMouseTracking(true)
)来接收没有按钮按下的鼠标移动事件。可以通过重写mouseMoveEvent(QMouseEvent *event)
函数来处理这个事件。
5. 鼠标进入(Mouse Enter)
QEvent::Enter
: 当鼠标指针进入组件的边界时发生。可以通过重写enterEvent(QEvent *event)
函数来处理这个事件。
6. 鼠标离开(Mouse Leave)
QEvent::Leave
: 当鼠标指针离开组件的边界时发生。可以通过重写leaveEvent(QEvent *event)
函数来处理这个事件。
7. 鼠标滚轮(Mouse Wheel)
QEvent::Wheel
: 当用户使用鼠标滚轮时发生。可以通过重写wheelEvent(QWheelEvent *event)
函数来处理这个事件。
光标样式
窗口大小改变事件
QEvent::Resize
是一种特定的事件类型,用于表示窗口部件(如QWidget)大小的改变。当窗口部件的大小被调整时,就会生成一个 QResizeEvent
事件,这个事件随后被传递到窗口部件的 resizeEvent
事件处理函数中。
文章来源:https://blog.csdn.net/b1169909203/article/details/135322601
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!