QMouseEvent 类包含鼠标事件的描述参数。 更多...
头: | #include <QMouseEvent> |
qmake: | QT += gui |
继承: | QInputEvent |
QMouseEvent (QEvent::Type type , const QPointF & localPos , const QPointF & windowPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers , Qt::MouseEventSource source ) | |
QMouseEvent (QEvent::Type type , const QPointF & localPos , const QPointF & windowPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers ) | |
QMouseEvent (QEvent::Type type , const QPointF & localPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers ) | |
QMouseEvent (QEvent::Type type , const QPointF & localPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers ) | |
Qt::MouseButton | button () const |
Qt::MouseButtons | buttons () const |
Qt::MouseEventFlags | flags () const |
QPoint | globalPos () const |
int | globalX () const |
int | globalY () const |
const QPointF & | localPos () const |
QPoint | pos () const |
const QPointF & | screenPos () const |
Qt::MouseEventSource | source () const |
const QPointF & | windowPos () const |
int | x () const |
int | y () const |
出现鼠标事件,当在 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 ().
构造鼠标事件对象。
The type 参数必须是 QEvent::MouseButtonPress , QEvent::MouseButtonRelease , QEvent::MouseButtonDblClick ,或 QEvent::MouseMove .
点 localPos , windowPos and screenPos 分别指定相对于接收 Widget 或项、窗口及屏幕的鼠标光标位置。
The button 导致给定值事件来自 Qt::MouseButton 枚举。若事件 type is MouseMove ,此事件的相应按钮为 Qt::NoButton . buttons 是事件发生时所有按钮的状态, modifiers 是所有键盘修饰符的状态。
The source of the event is specified by source .
该函数在 Qt 5.6 引入。
构造鼠标事件对象。
The type 参数必须是 QEvent::MouseButtonPress , QEvent::MouseButtonRelease , QEvent::MouseButtonDblClick ,或 QEvent::MouseMove .
点 localPos , windowPos and screenPos 分别指定相对于接收 Widget 或项、窗口及屏幕的鼠标光标位置。
The button 导致给定值事件来自 Qt::MouseButton 枚举。若事件 type is MouseMove ,此事件的相应按钮为 Qt::NoButton . buttons 是事件发生时所有按钮的状态, modifiers 是所有键盘修饰符的状态。
构造鼠标事件对象。
The type 参数必须是 QEvent::MouseButtonPress , QEvent::MouseButtonRelease , QEvent::MouseButtonDblClick ,或 QEvent::MouseMove .
The localPos 是鼠标光标相对于接收 Widget 或项的位置。按屏幕坐标的光标位置的指定由 screenPos 。窗口位置会被设为相同值如 localPos 。 button 导致给定值事件来自 Qt::MouseButton 枚举。若事件 type is MouseMove ,此事件的相应按钮为 Qt::NoButton . buttons 是事件发生时所有按钮的状态, modifiers 是所有键盘修饰符的状态。
构造鼠标事件对象。
The type 参数必须是某一 QEvent::MouseButtonPress , QEvent::MouseButtonRelease , QEvent::MouseButtonDblClick ,或 QEvent::MouseMove .
The localPos 是鼠标光标相对于接收 Widget 或项的位置。窗口位置会被设为相同值如 localPos 。 button 导致给定值事件来自 Qt::MouseButton 枚举。若事件 type is MouseMove ,此事件的相应按钮为 Qt::NoButton 。事件发生时的鼠标和键盘状态的指定是通过 buttons and modifiers .
The screenPos () 被初始化为 QCursor::pos (),可能不合适。使用其它构造函数以明确指定全局位置。
返回导致事件的按钮。
注意:返回值始终是 Qt::NoButton 对于鼠标移动事件而言。
另请参阅 buttons () 和 Qt::MouseButton .
返回事件生成时的按钮状态。按钮状态是组合 Qt::LeftButton , Qt::RightButton , Qt::MiddleButton 使用 OR 运算符。对于鼠标移动事件,这是被按下的所有按钮。对于鼠标按下和双击事件,这包括导致事件的按钮。对于鼠标释放事件,这排除导致事件的按钮。
另请参阅 button () 和 Qt::MouseButton .
返回鼠标事件标志。
鼠标事件标志提供有关鼠标事件的额外信息。
该函数在 Qt 5.3 引入。
另请参阅 Qt::MouseEventFlag and QGraphicsSceneMouseEvent::flags ().
返回鼠标光标的全局位置 当事件发生时 。这对异步窗口系统 (像 X11) 很重要。每当围绕响应鼠标事件移动 Widget 时,globalPos() 会非常不同于当前指针位置 QCursor::pos (),和来自 QWidget::mapToGlobal ( pos ()).
返回事件发生时的鼠标光标全局 X 位置。
另请参阅 globalY () 和 globalPos ().
返回事件发生时的鼠标光标全局 Y 位置。
另请参阅 globalX () 和 globalPos ().
将鼠标光标位置返回作为 QPointF ,相对于接收事件的 Widget 或项。
若因鼠标事件导致 Widget 移动,使用屏幕位置返回通过 screenPos () 以避免晃动。
该函数在 Qt 5.0 引入。
另请参阅 x (), y (), windowPos (),和 screenPos ().
返回鼠标光标的位置,相对于接收事件的 Widget。
若因鼠标事件导致 Widget 移动,使用全局位置返回通过 globalPos () 以避免晃动。
另请参阅 x (), y (),和 globalPos ().
将鼠标光标位置返回作为 QPointF ,相对于接收事件的屏幕。
该函数在 Qt 5.0 引入。
另请参阅 x (), y (), pos (), localPos (),和 windowPos ().
返回鼠标事件来源的有关信息。
鼠标事件来源可以用于区分真正和和人造的鼠标事件。后者是由操作系统或 Qt 自身从触摸事件合成的事件。
注意: 很多平台不提供这种信息。在这种平台 Qt::MouseEventNotSynthesized 始终被返回。
该函数在 Qt 5.3 引入。
另请参阅 Qt::MouseEventSource and QGraphicsSceneMouseEvent::source ().
将鼠标光标位置返回作为 QPointF ,相对接收事件的窗口。
若因鼠标事件导致 Widget 移动,使用全局位置返回通过 globalPos () 以避免晃动。
该函数在 Qt 5.0 引入。
另请参阅 x (), y (), pos (), localPos (),和 screenPos ().
返回相对于接收事件 Widget 的鼠标光标 X 位置。
返回相对于接收事件 Widget 的鼠标光标 Y 位置。