QMouseEvent 废弃成员

以下 QMouseEvent 类的成员已弃用。 提供这些成员是为了保持旧代码的兼容性。我们强烈建议在新代码中不要使用它们。

公共函数

(自 6.4 版本开始弃用) QMouseEvent(QEvent::Type type, const QPointF &localPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
(自 6.0 版本开始弃用) QPointglobalPos() const
(自 6.0 版本开始弃用) intglobalX() const
(自 6.0 版本开始弃用) intglobalY() const
(自 6.0 版本开始弃用) QPointFlocalPos() const
(自 6.0 版本开始弃用) QPointpos() const
(自 6.0 版本开始弃用) QPointFscreenPos() const
(自 6.0 版本开始弃用) Qt::MouseEventSourcesource() const
(自 6.0 版本开始弃用) QPointFwindowPos() const
(自 6.0 版本开始弃用) intx() const
(自 6.0 版本开始弃用) inty() const

成员函数文档

[自 6.4 版本开始弃用] QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())

此函数自 6.4 版本起已弃用。我们强烈建议在新代码中不要使用它。

请使用其他构造函数替代(需要全局位置)。

device 继承鼠标事件对象。

type 参数必须为以下之一:QEvent::MouseButtonPressQEvent::MouseButtonReleaseQEvent::MouseButtonDblClickQEvent::MouseMove

本地位置localPos是鼠标光标相对于接收部件或项目位置。窗口位置被设置为与localPos相同的值。造成事件的以从Qt::MouseButton枚举中的值给出。如果事件类型typeMouseMove,则此事件的相关按钮是Qt::NoButton。通过buttonsmodifiers指定事件发生时的鼠标和键盘状态。

globalPosition()初始化为QCursor::pos(),这可能不合适。请使用其他构造函数显式指定全局位置。

[已弃用于6.0] QPoint QMouseEvent::globalPos() const

此函数自6.0起已弃用。我们强烈建议在新的代码中不使用它。

请使用globalPosition().toPoint()代替。

返回事件发生时的鼠标光标全局位置。这在类似X11的异步窗口系统中非常重要。每次您在响应鼠标事件时移动小部件,globalPos()可能与当前指针位置QCursor::pos()以及QWidget::mapToGlobal(pos())()有很大差异。

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

[已弃用于6.0] int QMouseEvent::globalX() const

此函数自6.0起已弃用。我们强烈建议在新的代码中不使用它。

请使用globalPosition().x()代替。

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

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

[已弃用于6.0] int QMouseEvent::globalY() const

此函数自6.0起已弃用。我们强烈建议在新的代码中不使用它。

请使用globalPosition().y()代替。

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

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

[已弃用于6.0] QPointF QMouseEvent::localPos() const

此函数自6.0起已弃用。我们强烈建议在新的代码中不使用它。

请使用position()代替。

返回鼠标光标的QPointF位置,相对于接收事件的部件或项目。

如果您将小部件作为鼠标事件的结果移动,请使用screenPos()返回的屏幕位置,以避免抖动。

另请参阅x()、y)、windowPos()和screenPos()。

[已弃用于6.0] QPoint QMouseEvent::pos() const

此函数自6.0起已弃用。我们强烈建议在新的代码中不使用它。

请使用position()代替。

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

如果你通过鼠标事件移动小部件,请使用由 globalPos() 返回的全局位置来避免抖动运动。

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

[已在 6.0 版本中弃用] QPointF QMouseEvent::screenPos() const

此函数自6.0起已弃用。我们强烈建议在新的代码中不使用它。

请使用 globalPosition()。

返回鼠标光标的位置,以 QPointF 形式,相对于接收事件的屏幕。

另请参阅x(),y(),pos(),localPos() 和 windowPos()。

[已在 6.0 版本中弃用] Qt::MouseEventSource QMouseEvent::source() const

此函数自6.0起已弃用。我们强烈建议在新的代码中不使用它。

请使用 pointingDevice()。

返回有关鼠标事件源的信息。

鼠标事件源可以用来区分真实和人工的鼠标事件。后者是由操作系统或 Qt 本身合成的从触摸事件生成的事件。此枚举告诉你它从哪里合成;但通常知道它是由哪个设备合成的更有用,所以尽量使用 pointingDevice()。

注意:许多平台不提供此类信息。在这样的平台上,总是返回 Qt::MouseEventNotSynthesized

注意:在基于 Qt 5 的代码中,source() 通常被用来尝试区分从实际鼠标还是合成的鼠标事件。后者通常是操作系统或 Qt 本身从触摸事件合成的事件。然而,你无法判断它是由 QTouchEvent 还是 QTabletEvent 合成的,并且丢失了其他信息。《pointingDevice》告诉你它来自哪个具体设备,所以你可以检查 pointingDevice()->type()pointingDevice()->capabilities() 来决定如何对此事件做出反应。但最好是响应原始事件,而不仅仅是处理鼠标事件。

另请参阅Qt::MouseEventSourceQGraphicsSceneMouseEvent::source

[已在 6.0 版本中弃用] QPointF QMouseEvent::windowPos() const

此函数自6.0起已弃用。我们强烈建议在新的代码中不使用它。

请使用 scenePosition()。

返回鼠标光标的位置,以 QPointF 形式,相对于接收事件的窗口。

如果你通过鼠标事件移动小部件,请使用由 globalPos() 返回的全局位置来避免抖动运动。

另请参阅x(),y(),pos(),localPos() 和 screenPos()。

[已在 6.0 版本中弃用] int QMouseEvent::x() const

此函数自6.0起已弃用。我们强烈建议在新的代码中不使用它。

请使用 position().x()。

返回鼠标光标相对于接收事件的窗口的 x 位置。

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

[在 6.0 中已弃用] int QMouseEvent::y() const

此函数自6.0起已弃用。我们强烈建议在新的代码中不使用它。

请使用 position().y() 代替。

返回鼠标光标的 y 坐标,相对于接收事件的小部件。

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

© 2024 The Qt Company Ltd. 本文档中包含的贡献是各自所有者的版权。本文件提供的内容受 GNU 自由文档许可协议版本 1.3 的许可,由自由软件基金会发布。Qt 和相应的标志是芬兰以及全球其他地区的 The Qt Company Ltd. 的商标。所有其他商标都是其各自所有者的财产。