Auf dieser Seite

QMouseEvent Class

Die Klasse „QMouseEvent“ enthält Parameter, die ein Mausereignis beschreiben. Mehr dazu...

Header: #include <QMouseEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Erbt von: QSinglePointEvent

Öffentliche Funktionen

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

Geschützte Funktionen

QMouseEvent(QMouseEvent &&)
QMouseEvent &operator=(QMouseEvent &&)
QMouseEvent &operator=(const QMouseEvent &other)

Ausführliche Beschreibung

Mausereignisse treten auf, wenn eine Maustaste innerhalb eines Widgets gedrückt oder losgelassen wird oder wenn der Mauszeiger bewegt wird.

Mausbewegungsereignisse treten nur auf, wenn eine Maustaste gedrückt ist, es sei denn, die Mausverfolgung wurde mit ` QWidget::setMouseTracking()` aktiviert.

Qt übernimmt automatisch die Maussteuerung, wenn eine Maustaste innerhalb eines Widgets gedrückt wird; das Widget empfängt weiterhin Mausereignisse, bis die letzte Maustaste losgelassen wird.

Ein Mausereignis enthält ein spezielles Akzeptanzflag, das angibt, ob der Empfänger das Ereignis annehmen möchte. Sie sollten ` ignore()` aufrufen, wenn das Mausereignis nicht von Ihrem Widget verarbeitet wird. Ein Mausereignis wird in der übergeordneten Widget-Kette nach oben weitergeleitet, bis ein Widget es mit ` accept()` akzeptiert oder ein Ereignisfilter es verarbeitet.

Hinweis: Wird ein Mausereignis an ein „ widget “ weitergeleitet, für das „ Qt::WA_NoMousePropagation “ gesetzt wurde, wird dieses Mausereignis nicht weiter in der übergeordneten Widget-Kette weitergeleitet.

Der Status der Tastatur-Modifikatortasten kann durch Aufruf der Funktion ` modifiers()` ermittelt werden, die von ` QInputEvent` geerbt wurde.

Die Funktion ` position()` gibt die Cursorposition relativ zu dem Widget oder Element zurück, das das Mausereignis empfängt. Wenn Sie das Widget infolge des Mausereignisses verschieben, verwenden Sie die von ` globalPosition()` zurückgegebene globale Position, um ein Zittern zu vermeiden.

Die Funktion ` QWidget::setEnabled()` kann verwendet werden, um Maus- und Tastaturereignisse für ein Widget zu aktivieren oder zu deaktivieren.

Implementieren Sie die Ereignisbehandler „ QWidget “, „ QWidget::mousePressEvent()“, „ QWidget::mouseReleaseEvent()“, „ QWidget::mouseDoubleClickEvent()“ und „ QWidget::mouseMoveEvent()“ neu, um Mausereignisse in Ihren eigenen Widgets zu empfangen.

Siehe auch QWidget::setMouseTracking(), QWidget::grabMouse() und QCursor::pos().

Dokumentation zu Mitgliedsfunktionen

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())

Erstellt ein Mausereignisobjekt, das von device stammt.

Der Parameter „ type “ muss „ QEvent::MouseButtonPress “, „ QEvent::MouseButtonRelease “, „ QEvent::MouseButtonDblClick “ oder „ QEvent::MouseMove “ lauten.

localPos gibt die Position des Mauszeigers relativ zum empfangenden Widget oder Element an. Die Position des Cursors in Bildschirmkoordinaten wird durch ` globalPos` angegeben. Die Fensterposition wird auf denselben Wert wie ` localPos` gesetzt. Das ` button `, das das Ereignis ausgelöst hat, wird als Wert aus der Enumeration ` Qt::MouseButton ` angegeben. Wenn das Ereignis-` type ` ` MouseMove` ist, lautet die entsprechende Schaltfläche für dieses Ereignis ` Qt::NoButton`. ` buttons ` ist der Zustand aller Schaltflächen zum Zeitpunkt des Ereignisses, ` modifiers ` der Zustand aller Tastaturmodifikatoren.

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())

Erstellt ein Mausereignisobjekt.

Der Parameter „ type “ muss einen der folgenden Werte annehmen: „ QEvent::MouseButtonPress “, „ QEvent::MouseButtonRelease “, „ QEvent::MouseButtonDblClick “ oder „ QEvent::MouseMove “.

Die Punkte „ localPos “, „ scenePos “ und „ globalPos “ geben die Position des Mauszeigers relativ zum empfangenden Widget bzw. Element, zum Fenster sowie zum Bildschirm bzw. Desktop an.

Das button, das das Ereignis ausgelöst hat, wird als Wert aus der Enumeration Qt::MouseButton angegeben. Wenn das Ereignis type „ MouseMove “ lautet, ist die entsprechende Taste für dieses Ereignis Qt::NoButton. buttons ist der Zustand aller Tasten zum Zeitpunkt des Ereignisses, modifiers ist der Zustand aller Tastaturmodifikatoren.

[protected delete] QMouseEvent::QMouseEvent(QMouseEvent &&)

Erstellt eine Instanz von „ QMouseEvent “. Diese Funktion wurde gelöscht.

Qt::MouseEventFlags QMouseEvent::flags() const

Gibt die Mausereignis-Flags zurück.

Die Mausereignis-Flags liefern zusätzliche Informationen zu einem Mausereignis.

Siehe auch „ Qt::MouseEventFlag “ und „ QGraphicsSceneMouseEvent::flags()“.

[protected delete] QMouseEvent &QMouseEvent::operator=(QMouseEvent &&)

Weist „ other “ dieser „ QMouseEvent “-Instanz zu. Diese Funktion wird gelöscht.

[noexcept protected default] QMouseEvent &QMouseEvent::operator=(const QMouseEvent &other)

other Weist dieser Instanz von „ QMouseEvent “ den Wert „ “ zu. “ zu dieser Instanz von „ “ zu.

© 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.