QHoverEvent Class
Die Klasse QHoverEvent enthält Parameter, die ein Mausereignis beschreiben. Mehr...
Kopfzeile: | #include <QHoverEvent> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Vererbt: | QSinglePointEvent |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- Veraltete Mitglieder
- QHoverEvent ist Teil von Event Classes.
Öffentliche Funktionen
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 |
Detaillierte Beschreibung
Mausereignisse treten auf, wenn ein Mauszeiger in ein Widget hinein, aus einem Widget heraus oder innerhalb eines Widgets bewegt wird, und wenn das Widget das Attribut Qt::WA_Hover hat.
Die Funktion pos() gibt die aktuelle Cursorposition an, während oldPos() die alte Mausposition angibt.
Es gibt einige Ähnlichkeiten zwischen den Ereignissen QEvent::HoverEnter und QEvent::HoverLeave und den Ereignissen QEvent::Enter und QEvent::Leave. Sie unterscheiden sich jedoch geringfügig, da wir ein update() im Event-Handler von HoverEnter und HoverLeave durchführen.
QEvent::HoverMove unterscheidet sich auch leicht von QEvent::MouseMove. Betrachten wir ein Fenster der obersten Ebene A, das ein untergeordnetes Fenster B enthält, das wiederum ein untergeordnetes Fenster C enthält (alle mit aktivierter Mausverfolgung):
Wenn Sie nun den Cursor in der Mitte von A von oben nach unten bewegen, erhalten Sie die folgenden QEvent::MouseMove Ereignisse:
- A::MouseMove
- B::MausBewegung
- C::MausBewegung
Sie erhalten die gleichen Ereignisse für QEvent::HoverMove, mit dem Unterschied, dass sich das Ereignis immer auf die oberste Ebene ausbreitet, unabhängig davon, ob das Ereignis akzeptiert wird oder nicht. Die Weitergabe wird erst mit dem Attribut Qt::WA_NoMousePropagation beendet.
In diesem Fall treten die Ereignisse auf folgende Weise auf:
- A::HoverMove
- A::HoverMove, B::HoverMove
- A::HoverMove, B::HoverMove, C::HoverMove
Dokumentation der Mitgliedsfunktionen
QHoverEvent::QHoverEvent(QEvent::Type type, const QPointF &scenePos, const QPointF &globalPos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
Konstruiert ein Hover-Ereignisobjekt, das von device stammt.
Der Parameter type muss QEvent::HoverEnter, QEvent::HoverLeave oder QEvent::HoverMove sein.
scenePos ist die aktuelle Position des Mauszeigers relativ zum empfangenden Fenster oder zur Szene, oldPos ist die vorherige Position und globalPos ist die Mausposition in absoluten Koordinaten. modifiers enthält den Status aller Tastaturmodifikatoren zum Zeitpunkt des Ereignisses.
QPoint QHoverEvent::oldPos() const
Gibt die vorherige Position des Mauszeigers zurück, relativ zu dem Widget, das das Ereignis empfangen hat. Wenn es keine vorherige Position gibt, gibt oldPos() die gleiche Position wie pos() zurück.
Bei QEvent::HoverEnter -Ereignissen wird diese Position immer QPoint(-1, -1) sein.
Siehe auch pos().
QPointF QHoverEvent::oldPosF() const
Gibt die vorherige Position des Mauszeigers zurück, relativ zu dem Widget, das das Ereignis empfangen hat. Wenn es keine vorherige Position gibt, gibt oldPosF() die gleiche Position wie posF() zurück.
Bei QEvent::HoverEnter -Ereignissen wird diese Position immer QPointF(-1, -1) sein.
Siehe auch 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.