QHoverEvent Class

QHoverEventクラスは、マウスイベントを記述するパラメータを含んでいます。詳細...

ヘッダー #include <QHoverEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
継承: QSinglePointEvent

パブリック関数

QHoverEvent(QEvent::Type type, const QPointF &scenePos, const QPointF &globalPos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
QPoint oldPos() const
QPointF oldPosF() const

詳細説明

マウスイベントは、マウスカーソルがウィジェットの中、外、またはウィジェット内に移動したとき、およびウィジェットがQt::WA_Hover 属性を持っている場合に発生します。

関数pos()は現在のカーソル位置を与え、oldPos()は古いマウス位置を与えます。

イベントQEvent::HoverEnterQEvent::HoverLeave 、イベントQEvent::EnterQEvent::Leave の間には、いくつかの類似点があります。しかし、HoverEnter と HoverLeave のイベント・ハンドラで update() を実行するため、これらはわずかに異なります。

QEvent::HoverMove も と若干異なります。トップレベル・ウィンドウAに子ウィンドウBがあり、その子ウィンドウBに子ウィンドウCがあるとします(すべてマウス・トラッキングが有効になっています):QEvent::MouseMove

ここで、カーソルをAの真ん中で上から下に動かすと、以下のようなQEvent::MouseMove イベントが発生します:

  1. A::MouseMove
  2. B::MouseMove
  3. C::MouseMove

QEvent::HoverMove でも同じイベントが発生します。ただし、イベントが受け入れられるかどうかに関係なく、イベントは常にトップレベルに伝搬します。Qt::WA_NoMousePropagation 属性でのみ伝搬が停止します。

この場合、イベントは以下のように発生します:

  1. A::HoverMove
  2. A::HoverMove, B::HoverMove
  3. A::HoverMove, B::HoverMove, C::HoverMove

メンバー関数ドキュメント

QHoverEvent::QHoverEvent(QEvent::Type type, const QPointF &scenePos, const QPointF &globalPos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())

device を起点とするホバー・イベント・オブジェクトを構築する。

type パラメータはQEvent::HoverEnter,QEvent::HoverLeave, またはQEvent::HoverMove でなければならない。

scenePos は受信ウィンドウまたはシーンに対する現在のマウスカーソルの相対位置、oldPos はその前の位置、globalPos は絶対座標でのマウス位置です。modifiers はイベント発生時のすべてのキーボード修飾子の状態を保持します。

QPoint QHoverEvent::oldPos() const

イベントを受け取ったウィジェットからの相対的な、マウスカーソルの前の位置を返す。前の位置がない場合、oldPos() は pos() と同じ位置を返します。

QEvent::HoverEnter イベントでは、この位置は常にQPoint(-1, -1) になります。

pos()も参照してください

QPointF QHoverEvent::oldPosF() const

イベントを受け取ったウィジェットを基準とした、マウスカーソルの前の位置を返す。前の位置がない場合、oldPosF() は posF() と同じ位置を返します。

QEvent::HoverEnter イベントでは、この位置は常にQPointF(-1, -1) になります。

posF()も参照

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.