QMouseEvent 类

The QMouseEvent 类包含鼠标事件的描述参数。 更多...

头: #include <QMouseEvent>
继承: QInputEvent

公共函数

QMouseEvent (Type type , const QPoint & position , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers )
QMouseEvent (Type type , const QPoint & pos , const QPoint & globalPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers )
Qt::MouseButton button () const
Qt::MouseButtons buttons () const
const QPoint & globalPos () const
int globalX () const
int globalY () const
const QPoint & pos () const
QPointF posF () const
int x () const
int y () const

额外继承成员

详细描述

The QMouseEvent 类包含鼠标事件的描述参数。

出现鼠标事件,当在 Widget 内按下 (或释放) 鼠标按钮 (或移动鼠标光标) 时。

才发生鼠标移动事件当按下鼠标按钮时,除非启用鼠标跟踪采用 QWidget::setMouseTracking ().

Qt 自动抓取鼠标当在 Widget 内按下鼠标按钮时;Widget 将继续接收鼠标事件,直到最后释放鼠标按钮。

鼠标事件包含特殊接受标志 (指示接收者是否想要事件)。应该调用 ignore () 若 Widget 不处理鼠标事件。鼠标事件会沿父级 Widget 链向上传播,直到小部件接受它采用 accept (),或由事件过滤器消耗掉它。

注意: 若鼠标事件被传播给 widget 其中 Qt::WA_NoMousePropagation 有设置,该鼠标事件将不会沿父级 Widget 链向上进一步传播。

可以找到键盘修饰符键的状态通过调用 modifiers() 函数,继承自 QInputEvent .

函数 pos (), x (),和 y () 给出相对于接收鼠标事件的 Widget 的光标位置。若因鼠标事件导致 Widget 移动,使用全局位置返回通过 globalPos () 以避免晃动。

The QWidget::setEnabled () 函数可用于启用 (或禁用) 小部件的鼠标事件和键盘事件。

重实现 QWidget 事件处理程序, QWidget::mousePressEvent (), QWidget::mouseReleaseEvent (), QWidget::mouseDoubleClickEvent (),和 QWidget::mouseMoveEvent () 以在自己的 Widget 中接收鼠标事件。

另请参阅 QWidget::setMouseTracking (), QWidget::grabMouse (),和 QCursor::pos ().

成员函数文档编制

QMouseEvent:: QMouseEvent ( Type type , const QPoint & position , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers )

构造鼠标事件对象。

The type 参数必须是某一 QEvent::MouseButtonPress , QEvent::MouseButtonRelease , QEvent::MouseButtonDblClick ,或 QEvent::MouseMove .

The position is the mouse cursor's position relative to the receiving widget. The button 导致给定值事件来自 Qt::MouseButton 枚举。若事件 type is MouseMove ,此事件的相应按钮为 Qt::NoButton 。事件发生时的鼠标和键盘状态的指定是通过 buttons and modifiers .

The globalPos () 被初始化为 QCursor::pos (),可能不合适。使用其它构造函数以明确指定全局位置。

QMouseEvent:: QMouseEvent ( Type type , const QPoint & pos , const QPoint & globalPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers )

构造鼠标事件对象。

The type 参数必须是 QEvent::MouseButtonPress , QEvent::MouseButtonRelease , QEvent::MouseButtonDblClick ,或 QEvent::MouseMove .

The pos is the mouse cursor's position relative to the receiving widget. The cursor's position in global coordinates is specified by globalPos button 导致给定值事件来自 Qt::MouseButton 枚举。若事件 type is MouseMove ,此事件的相应按钮为 Qt::NoButton . buttons 是事件发生时所有按钮的状态, modifiers 是所有键盘修饰符的状态。

Qt::MouseButton QMouseEvent:: button () const

返回导致事件的按钮。

注意:返回值始终是 Qt::NoButton 对于鼠标移动事件而言。

另请参阅 buttons () 和 Qt::MouseButton .

Qt::MouseButtons QMouseEvent:: buttons () const

返回事件生成时的按钮状态。按钮状态是组合 Qt::LeftButton , Qt::RightButton , Qt::MidButton 使用 OR 运算符。对于鼠标移动事件,这是被按下的所有按钮。对于鼠标按下和双击事件,这包括导致事件的按钮。对于鼠标释放事件,这排除导致事件的按钮。

另请参阅 button () 和 Qt::MouseButton .

const QPoint & QMouseEvent:: globalPos () const

返回鼠标光标的全局位置 当事件发生时 。这对异步窗口系统 (像 X11) 很重要。每当围绕响应鼠标事件移动 Widget 时,globalPos() 会非常不同于当前指针位置 QCursor::pos (),和来自 QWidget::mapToGlobal ( pos ()).

另请参阅 globalX () 和 globalY ().

int QMouseEvent:: globalX () const

返回事件发生时的鼠标光标全局 X 位置。

另请参阅 globalY () 和 globalPos ().

int QMouseEvent:: globalY () const

返回事件发生时的鼠标光标全局 Y 位置。

另请参阅 globalX () 和 globalPos ().

const QPoint & QMouseEvent:: pos () const

返回鼠标光标的位置,相对于接收事件的 Widget。

若因鼠标事件导致 Widget 移动,使用全局位置返回通过 globalPos () 以避免晃动。

另请参阅 x (), y (),和 globalPos ().

QPointF QMouseEvent:: posF () const

将鼠标光标位置返回作为 QPointF , relative to the widget that received the event.

若因鼠标事件导致 Widget 移动,使用全局位置返回通过 globalPos () 以避免晃动。

该函数在 Qt 4.4 引入。

另请参阅 x (), y (), pos (),和 globalPos ().

int QMouseEvent:: x () const

返回相对于接收事件 Widget 的鼠标光标 X 位置。

另请参阅 y () 和 pos ().

int QMouseEvent:: y () const

返回相对于接收事件 Widget 的鼠标光标 Y 位置。

另请参阅 x () 和 pos ().