QMouseEvent Class
QMouseEvent クラスには、マウスイベントを表すパラメータが含まれています。詳細...
| ヘッダー: | #include <QMouseEvent> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 継承元: | QSinglePointEvent |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- 非推奨のメンバ
- QMouseEvent はイベントクラスの一部です。
パブリック関数
| QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice()) | |
| QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &scenePos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice()) | |
| Qt::MouseEventFlags | flags() const |
プロテクトされた関数
| QMouseEvent(QMouseEvent &&) | |
| QMouseEvent & | operator=(QMouseEvent &&) |
| QMouseEvent & | operator=(const QMouseEvent &other) |
詳細な説明
マウスイベントは、ウィジェット内でマウスボタンが押されたり離されたりしたとき、またはマウスカーソルが移動したときに発生します。
QWidget::setMouseTracking() によってマウストラッキングが有効になっていない限り、マウス移動イベントはマウスボタンが押されている場合にのみ発生します。
ウィジェット内でマウスボタンが押されると、Qt は自動的にマウスをグラブします。ウィジェットは、最後のマウスボタンが離されるまでマウスイベントを受け取り続けます。
マウスイベントには、レシーバーがそのイベントを受け入れるかどうかを示す特別な受け入れフラグが含まれています。マウスイベントがウィジェットによって処理されない場合は、ignore() を呼び出す必要があります。マウスイベントは、ウィジェットがaccept() によってそれを受け入れるか、イベントフィルタによって消費されるまで、親ウィジェットチェーンを上方向に伝播します。
注: マウスイベントが、Qt::WA_NoMousePropagation が設定されているwidget に伝播された場合 、そのマウスイベントは親ウィジェットチェーンの上流へこれ以上伝播されません。
キーボードの修飾キーの状態は、QInputEvent から継承されたmodifiers() 関数を呼び出すことで確認できます。
position() 関数は、マウスイベントを受け取ったウィジェットまたは項目に対する相対的なカーソル位置を返します。マウスイベントの結果としてウィジェットを移動させる場合は、揺れ動くような動きを避けるために、globalPosition() が返すグローバルな位置を使用してください。
QWidget::setEnabled() 関数を使用すると、ウィジェットに対するマウスおよびキーボードイベントを有効または無効にすることができます。
独自のウィジェットでマウスイベントを受け取るには、QWidget イベントハンドラであるQWidget::mousePressEvent()、QWidget::mouseReleaseEvent()、QWidget::mouseDoubleClickEvent()、およびQWidget::mouseMoveEvent() を再実装してください。
QWidget::setMouseTracking()、QWidget::grabMouse()、およびQCursor::pos()も参照してください 。
メンバ関数のドキュメント
QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
device を発生源とするマウスイベントオブジェクトを生成します。
type パラメータは、QEvent::MouseButtonPress 、QEvent::MouseButtonRelease 、QEvent::MouseButtonDblClick 、またはQEvent::MouseMove のいずれかでなければなりません。
localPos は、受信ウィジェットまたはアイテムに対するマウスカーソルの相対位置です。 画面座標におけるカーソルの位置は、globalPos で指定されます。ウィンドウの位置は、localPos と同じ値に設定されます。イベントを引き起こしたbutton は、Qt::MouseButton 列挙型の値として指定されます。イベントtype がMouseMove の場合、このイベントに対応するボタンはQt::NoButton です。buttons はイベント発生時のすべてのボタンの状態を表し、modifiers はすべてのキーボード修飾キーの状態を表します。
QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &scenePos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
マウスイベントオブジェクトを作成します。
type パラメータは、QEvent::MouseButtonPress 、QEvent::MouseButtonRelease 、QEvent::MouseButtonDblClick 、またはQEvent::MouseMove のいずれかでなければなりません。
localPos 、scenePos 、およびglobalPos は、それぞれ、受信ウィジェットまたはアイテム、ウィンドウ、および画面またはデスクトップに対するマウスカーソルの位置を指定します。
イベントを引き起こしたbutton は、Qt::MouseButton 列挙型の値として指定されます。イベントtype がMouseMove の場合、このイベントに対応するボタンはQt::NoButton です。buttons はイベント発生時のすべてのボタンの状態であり、modifiers はすべてのキーボード修飾キーの状態です。
[protected delete] QMouseEvent::QMouseEvent(QMouseEvent &&)
QMouseEvent のインスタンスをMoveで構築します。この関数は削除されています。
Qt::MouseEventFlags QMouseEvent::flags() const
マウスイベントフラグを返します。
マウスイベントフラグは、マウスイベントに関する追加情報を提供します。
Qt::MouseEventFlag およびQGraphicsSceneMouseEvent::flags()も参照してください 。
[protected delete] QMouseEvent &QMouseEvent::operator=(QMouseEvent &&)
other をこのQMouseEvent インスタンスに割り当てます。この関数は削除されます。
[noexcept protected default] QMouseEvent &QMouseEvent::operator=(const QMouseEvent &other)
other をこのQMouseEvent インスタンスにコピーして割り当てます。
© 2026 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.