MouseArea QML Type
Ermöglicht eine einfache Mausbedienung. Mehr...
| Import Statement: | import QtQuick |
| Inherits: |
Eigenschaften
- acceptedButtons : Qt::MouseButtons
- containsMouse : bool
- containsPress : bool
- cursorShape : Qt::CursorShape
- drag
- drag.active : bool
- drag.axis : enumeration
- drag.filterChildren : bool
- drag.maximumX : real
- drag.maximumY : real
- drag.minimumX : real
- drag.minimumY : real
- drag.smoothed : bool
- drag.target : Item
- drag.threshold : real
- enabled : bool
- hoverEnabled : bool
- mouseX : real
- mouseY : real
- pressAndHoldInterval : int
- pressed : bool
- pressedButtons : MouseButtons
- preventStealing : bool
- propagateComposedEvents : bool
- scrollGestureEnabled : bool
Signale
- canceled()
- clicked(MouseEvent mouse)
- doubleClicked(MouseEvent mouse)
- entered()
- exited()
- positionChanged(MouseEvent mouse)
- pressAndHold(MouseEvent mouse)
- pressed(MouseEvent mouse)
- released(MouseEvent mouse)
- wheel(WheelEvent wheel)
Ausführliche Beschreibung
Ein „MouseArea“-Element ist ein unsichtbares Element, das in der Regel in Verbindung mit einem sichtbaren Element verwendet wird, um die Maussteuerung für dieses Element zu ermöglichen. Da es effektiv als Proxy fungiert, kann die Logik für die Maussteuerung innerhalb eines „MouseArea“-Elements enthalten sein.
Die Eigenschaft „ enabled “ dient dazu, die Maussteuerung für das vermittelte Element zu aktivieren oder zu deaktivieren. Wenn sie deaktiviert ist, wird der Mausbereich für Mausereignisse transparent.
„MouseArea“ ist ein unsichtbares Element, verfügt jedoch über eine „visible“-Eigenschaft. Ist diese auf „false“ gesetzt, wird der Mausbereich für Mausereignisse transparent.
Die schreibgeschützte Eigenschaft „ pressed “ gibt an, ob der Benutzer eine Maustaste über dem Mausbereich gedrückt hält oder nicht. Diese Eigenschaft wird häufig in Bindungen zwischen Eigenschaften in einer Benutzeroberfläche verwendet. Die schreibgeschützte Eigenschaft „ containsMouse “ gibt an, ob sich der Mauszeiger über dem Mausbereich befindet, standardmäßig jedoch nur, wenn eine Maustaste gedrückt gehalten wird; weitere Details finden Sie in der Dokumentation zu „ containsMouse “.
Informationen über die Mausposition und Mausklicks werden über Signale bereitgestellt, für die Ereignisbehandlungs-Eigenschaften definiert sind. Am häufigsten werden Ereignisse im Zusammenhang mit dem Drücken und Klicken der Maustasten verwendet: onClicked, onDoubleClicked, onPressed, onReleased und onPressAndHold. Es ist auch möglich, Mausrad-Ereignisse über das Signal onWheel zu verarbeiten.
Wenn sich ein „MouseArea“-Element mit dem Bereich anderer „MouseArea“-Elemente überschneidet, können Sie festlegen, dass Ereignisse vom Typ „ clicked “, „ doubleClicked “ und „ pressAndHold “ an diese anderen Elemente weitergegeben werden, indem Sie „ propagateComposedEvents “ auf „true“ setzen und Ereignisse zurückweisen, die nicht weitergegeben werden sollen. Weitere Informationen finden Sie in der Dokumentation zu „ propagateComposedEvents “.
Standardmäßig melden „MouseArea“-Elemente nur Mausklicks und keine Änderungen der Mauscursorposition. Durch Setzen der Eigenschaft „ hoverEnabled “ wird sichergestellt, dass die für „onPositionChanged“, „onEntered“ und „onExited“ definierten Handler verwendet werden und dass die Eigenschaft „ containsMouse “ auch dann aktualisiert wird, wenn keine Maustasten gedrückt sind.
Anwendungsbeispiel

Das folgende Beispiel verwendet ein „MouseArea“-Element in einem „ Rectangle “, das die Farbe von „ Rectangle “ bei einem Klick auf Rot ändert:
import QtQuick
Rectangle {
width: 100; height: 100
color: "green"
MouseArea {
anchors.fill: parent
onClicked: { parent.color = 'red' }
}
}Viele „MouseArea“-Signale übergeben einen „ mouse “-Parameter, der zusätzliche Informationen zum Mausereignis enthält, wie z. B. die Position, die Maustaste und etwaige Tastenmodifikatoren.
Hier ist eine Erweiterung des vorherigen Beispiels, die eine andere Farbe erzeugt, wenn mit der rechten Maustaste auf den Bereich geklickt wird:
Rectangle {
width: 100; height: 100
color: "green"
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: (mouse)=> {
if (mouse.button == Qt.RightButton)
parent.color = 'blue';
else
parent.color = 'red';
}
}
}Siehe auch „ MouseEvent“ , das „MouseArea“-Beispiel und „Wichtige Konzepte in Qt Quick – Benutzereingaben“.
Dokumentation zu den Eigenschaften
acceptedButtons : Qt::MouseButtons
Diese Eigenschaft gibt an, auf welche Maustasten der Mausbereich reagiert.
Um festzulegen, dass der „ MouseArea “ auf mehrere Tasten reagiert, werden die Werte der Flagge „ Qt::MouseButtons “ mithilfe des Operators „|“ (oder) kombiniert:
MouseArea { acceptedButtons: Qt.LeftButton | Qt.RightButton }Um anzugeben, dass alle möglichen Maustasten akzeptiert werden sollen, kann der Sonderwert „Qt.AllButtons“ verwendet werden:
MouseArea { acceptedButtons: Qt.AllButtons }Der Standardwert ist „ Qt.LeftButton “.
containsMouse : bool [read-only]
Diese Eigenschaft gibt an, ob sich der Mauszeiger derzeit innerhalb des Mausbereichs befindet.
Warnung: Wenn „ hoverEnabled “ auf „ false “ gesetzt ist, ist „ containsMouse “ gleich „ true “, wenn die Maustaste gedrückt wird, während sich der Mauszeiger innerhalb von „ MouseArea “ befindet. Wenn Sie jedoch „ mouse.accepted = false “ in einem „ onPressed “-Handler festlegen, bleibt „ containsMouse “ gleich „ false “, da der Klick abgelehnt wurde.
containsPress : bool [read-only]
Dies ist eine Hilfs-Eigenschaft, die der Eigenschaft „ pressed && containsMouse “ entspricht, d. h., sie gilt, wenn eine der Tasten „ acceptedButtons “ derzeit gedrückt ist und sich die Maus derzeit innerhalb des Bereichs „ MouseArea “ befindet.
Diese Eigenschaft ist besonders nützlich, um ein Element hervorzuheben, während die Maustaste innerhalb seiner Grenzen gedrückt wird.
Siehe auch „ pressed “ und „ containsMouse “.
cursorShape : Qt::CursorShape
Diese Eigenschaft legt die Cursorform für diesen Mausbereich fest. Beachten Sie, dass dies auf Plattformen, auf denen kein Mauszeiger angezeigt wird, möglicherweise keine Auswirkung hat.
Die verfügbaren Cursorformen sind:
- Qt.ArrowCursor
- Qt.UpArrowCursor
- Qt.CrossCursor
- Qt.WaitCursor
- Qt.IBeamCursor
- Qt.Größe-Vertikal-Cursor
- Qt.SizeHorCursor
- Qt.SizeBDiagCursor
- Qt.SizeFDiagCursor
- Qt.SizeAllCursor
- Qt.LeererCursor
- Qt.SplitVCursor
- Qt.SplitHCursor
- Qt.ZeigenderFinger-Cursor
- Qt.VerbotenerCursor
- Qt.WasIstDas-Cursor
- Qt.BeschäftigtCursor
- Qt.Cursor mit offener Hand
- Qt.Geschlossene-Hand-Cursor
- Qt.Ziehen-Kopieren-Cursor
- Qt.Ziehen-Verschieben-Cursor
- Qt.DragLinkCursor
Um für einen Bereich lediglich eine Mauszeigerform festzulegen, ohne auf Mausereignisse zu reagieren, setzen Sie „ acceptedButtons “ auf „none“:
MouseArea { cursorShape: Qt.IBeamCursor; acceptedButtons: Qt.NoButton }Der Standardwert ist „ Qt.ArrowCursor “.
Hinweis: Wenn die Eigenschaft „ cursorShape “ auf „ undefined “ gesetzt ist, ändert der „ MouseArea “ die vorhandene Form beim Betreten des Bereichs nicht.
Siehe auch „ Qt::CursorShape “.
drag group
drag.active : bool [read-only]
drag.axis : enumeration
drag.filterChildren : bool
drag.maximumX : real
drag.maximumY : real
drag.minimumX : real
drag.minimumY : real
drag.smoothed : bool
drag.target : Item
drag.threshold : real
drag bietet eine bequeme Möglichkeit, ein Element ziehbar zu machen.
drag.targetGibt die ID des zu ziehenden Elements an.drag.activeGibt an, ob das Zielelement gerade verschoben wird.drag.axisGibt an, ob das Ziehen horizontal (Drag.XAxis), vertikal (Drag.YAxis) oder in beide Richtungen (Drag.XAndYAxis) möglich istdrag.minimumund „drag.maximum“ begrenzen, wie weit das Zielelement entlang der entsprechenden Achsen verschoben werden kann.
Das folgende Beispiel zeigt ein „ Rectangle “, das entlang der X-Achse verschoben werden kann. Die Deckkraft des Rechtecks wird verringert, wenn es nach rechts verschoben wird.
Rectangle {
id: container
width: 600; height: 200
Rectangle {
id: rect
width: 50; height: 50
color: "red"
opacity: (600.0 - rect.x) / 600
MouseArea {
anchors.fill: parent
drag.target: rect
drag.axis: Drag.XAxis
drag.minimumX: 0
drag.maximumX: container.width - rect.width
}
}
}Hinweis: Elemente können nicht verschoben werden, wenn sie für die angeforderte „ drag.axis “ verankert sind. Wenn beispielsweise im obigen Beispiel für „ rect “ „ anchors.left “ oder „ anchors.right “ festgelegt wurde, kann es nicht entlang der X-Achse verschoben werden. Dies lässt sich vermeiden, indem der Ankerwert in einem „ onPressed “-Handler auf „ undefined “ gesetzt wird.
Wenn „ drag.filterChildren “ auf „true“ gesetzt ist, kann ein Ziehvorgang untergeordnete „MouseAreas“ überschreiben. Dies ermöglicht es beispielsweise einem übergeordneten „ MouseArea “, Ziehvorgänge zu verarbeiten, während untergeordnete Elemente Klicks verarbeiten:
import QtQuick
Rectangle {
width: 480
height: 320
Rectangle {
x: 30; y: 30
width: 300; height: 240
color: "lightsteelblue"
MouseArea {
anchors.fill: parent
drag.target: parent;
drag.axis: "XAxis"
drag.minimumX: 30
drag.maximumX: 150
drag.filterChildren: true
Rectangle {
color: "yellow"
x: 50; y : 50
width: 100; height: 100
MouseArea {
anchors.fill: parent
onClicked: console.log("Clicked")
}
}
}
}
}drag.threshold Legt den Schwellenwert in Pixeln fest, ab dem der Drag-Vorgang beginnen soll. Standardmäßig ist dieser Wert an einen plattformabhängigen Wert gebunden. Diese Eigenschaft wurde in Qt Quick 2.2 hinzugefügt.
Wenn „ drag.smoothed “ auf „ true “ gesetzt ist, wird das Ziel erst verschoben, nachdem der Drag-Vorgang begonnen hat. Bei der Einstellung „ false “ wird das Ziel direkt an die aktuelle Mausposition verschoben. Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt. Diese Eigenschaft wurde in „ Qt Quick “ 2.4 hinzugefügt
Siehe die angehängte Eigenschaft „ Drag “ und DropArea, wenn Sie einen Drop-Vorgang ausführen möchten.
enabled : bool
Diese Eigenschaft gibt an, ob das Element Mausereignisse akzeptiert.
Hinweis: Aus historischen Gründen entspricht diese Eigenschaft nicht der Eigenschaft „Item.enabled“. Sie wirkt sich nur auf Mausereignisse aus, und ihre Wirkung überträgt sich nicht auf untergeordnete Elemente.
Standardmäßig ist diese Eigenschaft auf „true“ gesetzt.
hoverEnabled : bool
Diese Eigenschaft legt fest, ob Hover-Ereignisse verarbeitet werden.
Standardmäßig werden Mausereignisse nur als Reaktion auf ein Schaltflächenereignis oder beim Drücken einer Schaltfläche verarbeitet. Die Einstellung „Hover“ ermöglicht die Verarbeitung aller Mausereignisse, auch wenn keine Maustaste gedrückt ist.
Diese Eigenschaft wirkt sich auf die Eigenschaft „ containsMouse “ sowie auf die Signale „onEntered“, „onExited“ und „onPositionChanged“ aus.
Diese Eigenschaften enthalten die Koordinaten des Mauszeigers.
Ist die Eigenschaft „ hoverEnabled “ auf „false“ gesetzt, sind diese Eigenschaften nur gültig, solange eine Schaltfläche gedrückt wird, und bleiben gültig, solange die Schaltfläche gedrückt gehalten wird, auch wenn die Maus außerhalb des Bereichs bewegt wird.
Standardmäßig ist diese Eigenschaft auf „false“ gesetzt.
Ist „ hoverEnabled “ auf „true“ gesetzt, gelten diese Eigenschaften, wenn:
- keine Taste gedrückt ist, sich die Maus jedoch innerhalb des Bereichs „ MouseArea “ befindet (containsMouse =true).
- eine Taste gedrückt und gehalten wird, auch wenn die Maus inzwischen aus dem Bereich herausbewegt wurde.
Die Koordinaten beziehen sich relativ auf den Bereich „ MouseArea “.
pressAndHoldInterval : int
Diese Eigenschaft überschreibt die verstrichene Zeit in Millisekunden, bevor „ pressAndHold “ ausgegeben wird.
Wenn sie nicht explizit festgelegt ist – oder nach einem Reset –, folgt der Wert dem Wert von „ QStyleHints::mousePressAndHoldInterval “.
In der Regel reicht es aus, diese Eigenschaft global mithilfe des Anwendungs-Stilhinweises festzulegen. Diese Eigenschaft sollte verwendet werden, wenn für bestimmte „MouseAreas“ unterschiedliche Intervalle erforderlich sind.
Siehe auch „ pressAndHold “.
pressed : bool [read-only]
Diese Eigenschaft gibt an, ob derzeit eine der Tasten „ acceptedButtons “ gedrückt ist.
pressedButtons : MouseButtons [read-only]
Diese Eigenschaft enthält die derzeit gedrückten Maustasten.
Sie enthält eine bitweise Kombination aus:
- Qt.LeftButton
- Qt.RightButton
- Qt.MiddleButton
Der folgende Code zeigt „right“ an, wenn die rechte Maustaste gedrückt wird:
Text {
text: mouseArea.pressedButtons & Qt.RightButton ? "right" : ""
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
MouseArea {
id: mouseArea
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton
}
}Hinweis: Diese Eigenschaft verarbeitet nur Tasten, die unter „ acceptedButtons “ angegeben sind.
Siehe auch acceptedButtons.
preventStealing : bool
Diese Eigenschaft legt fest, ob Mausereignisse von diesem „ MouseArea “ abgefangen werden können.
Wenn ein ` MouseArea ` innerhalb eines Elements platziert wird, das untergeordnete Mausereignisse filtert, wie z. B. `Flickable`, können die Mausereignisse von der ` MouseArea ` abgefangen werden, wenn das übergeordnete Element eine Geste erkennt, z. B. eine Wischgeste. Ist `preventStealing` auf `true` gesetzt, wird kein Element die Mausereignisse abfangen.
Beachten Sie, dass die Einstellung von „preventStealing“ auf „true“, sobald ein Element bereits damit begonnen hat, Ereignisse abzufangen, erst ab dem nächsten Druckereignis wirksam wird.
Standardmäßig ist diese Eigenschaft auf „false“ gesetzt.
propagateComposedEvents : bool
Diese Eigenschaft legt fest, ob zusammengesetzte Mausereignisse automatisch an andere „MouseAreas“ weitergeleitet werden, die sich mit diesem „ MouseArea “ überschneiden, aber in der visuellen Stapelreihenfolge darunter liegen. Standardmäßig ist diese Eigenschaft auf „false“ gesetzt.
MouseArea Enthält mehrere zusammengesetzte Ereignisse: „ clicked “, „ doubleClicked “ und „ pressAndHold “. Diese setzen sich aus grundlegenden Mausereignissen wie „ pressed “ zusammen und können im Vergleich zu grundlegenden Ereignissen unterschiedlich weitergeleitet werden.
Wenn „propagateComposedEvents“ auf „true“ gesetzt ist, werden zusammengesetzte Ereignisse automatisch an andere „MouseAreas“ an derselben Stelle in der Szene weitergeleitet. Jedes Ereignis wird an das nächste „ enabled “ ( MouseArea ) weitergeleitet, das in der Stapelreihenfolge darunter liegt, und wandert so die visuelle Hierarchie nach unten, bis ein „ MouseArea “ das Ereignis annimmt. Im Gegensatz zu „ pressed “-Ereignissen werden zusammengesetzte Ereignisse nicht automatisch angenommen, wenn kein Handler vorhanden ist.
Im folgenden Beispiel ist ein gelbes „ Rectangle “, das ein blaues „ Rectangle “ enthält. Das blaue Rechteck ist das oberste Element in der Hierarchie der visuellen Stapelreihenfolge; es wird visuell über dem gelben Rechteck dargestellt. Da das blaue Rechteck „propagateComposedEvents“ auf „true“ setzt und zudem für alle empfangenen „ clicked “-Ereignisse „ MouseEvent::accepted “ auf „false“ setzt, werden alle empfangenen „ clicked “-Ereignisse an den „ MouseArea “ des darunterliegenden gelben Rechtecks weitergeleitet.
import QtQuick 2.0
Rectangle {
color: "yellow"
width: 100; height: 100
MouseArea {
anchors.fill: parent
onClicked: console.log("clicked yellow")
}
Rectangle {
color: "blue"
width: 50; height: 50
MouseArea {
anchors.fill: parent
propagateComposedEvents: true
onClicked: (mouse)=> {
console.log("clicked blue")
mouse.accepted = false
}
}
}
}Ein Klick auf das blaue Rechteck führt dazu, dass der ` onClicked `-Handler seines untergeordneten ` MouseArea ` aufgerufen wird; das Ereignis wird anschließend an das ` MouseArea ` des gelben Rechtecks weitergeleitet, wodurch dessen eigener ` onClicked `-Handler aufgerufen wird.
Diese Eigenschaft vereinfacht den Anwendungsfall erheblich, in dem sich überlappende „MouseAreas“ die zusammengesetzten Ereignisse gemeinsam verarbeiten sollen. Beispielsweise wenn ein „ MouseArea “ „ clicked “-Signale verarbeiten soll und der andere „ pressAndHold “-Signale, oder wenn ein „ MouseArea “ in den meisten Fällen „ clicked “-Signale verarbeiten soll, diese aber unter bestimmten Bedingungen weiterleiten soll.
scrollGestureEnabled : bool
Diese Eigenschaft legt fest, ob dieses „ MouseArea “ auf Scroll-Gesten von Geräten ohne Maus reagiert, wie beispielsweise die Zwei-Finger-Wischgeste auf einem Trackpad. Ist der Wert auf „false“ gesetzt, wird das Signal „ wheel “ nur dann ausgelöst, wenn das Rad-Ereignis von einer tatsächlichen Maus mit Rad stammt, während Scroll-Gesten-Ereignisse an jedes andere „Item“ weitergeleitet werden, das diese verarbeiten kann. Beispielsweise könnte der Benutzer eine Wischgeste ausführen, während sich der Cursor über einem Element befindet, das ein „ MouseArea “ enthält, um mit einem darunter liegenden „Flickable“ zu interagieren. Wird diese Eigenschaft auf „false“ gesetzt, kann das „ PinchArea “ das Mausrad oder die Pinch-Geste verarbeiten, während das „Flickable“ die Wischgeste verarbeitet.
Standardmäßig ist diese Eigenschaft auf „true“ gesetzt.
Signal-Dokumentation
canceled()
Dieses Signal wird ausgelöst, wenn Mausereignisse abgebrochen wurden, weil ein anderes Element die Verarbeitung des Mausereignisses übernommen hat.
Dieses Signal ist für fortgeschrittene Anwendungen gedacht: Es ist nützlich, wenn mehr als ein „ MouseArea “ die Eingabe verarbeitet oder wenn sich ein „ MouseArea “ innerhalb eines „ Flickable “ befindet. Im letzteren Fall gilt: Wenn Sie im Signal-Handler „ onPressed “ eine Logik ausführen und anschließend mit dem Ziehen beginnen, übernimmt der „ Flickable “ die Mausverarbeitung vom „ MouseArea “. In diesen Fällen sollte zusätzlich zu „ released “ auch „ canceled “ abgehandelt werden, um die Logik zurückzusetzen, wenn der „ MouseArea “ die Mausverarbeitung an den „ Flickable “ verloren hat.
Hinweis: Der entsprechende Handler lautet „ onCanceled “.
clicked(MouseEvent mouse)
Dieses Signal wird bei einem Klick ausgelöst. Ein Klick ist definiert als ein Drücken, gefolgt von einem Loslassen, beides innerhalb des „ MouseArea “ (das Drücken, das Verlassen des „ MouseArea “ und das anschließende Zurückkehren in den Bereich sowie das Loslassen gelten ebenfalls als Klick).
Der Parameter „ mouse “ liefert Informationen zum Klick, darunter die x- und y-Position beim Loslassen des Klicks sowie die Angabe, ob der Klick gehalten wurde.
Bei der Verarbeitung dieses Signals hat eine Änderung der Eigenschaft „ accepted “ des Parameters „ mouse “ keine Auswirkung, es sei denn, die Eigenschaft „ propagateComposedEvents “ ist auf „ true “ gesetzt.
Hinweis: Der entsprechende Handler lautet „ onClicked “.
doubleClicked(MouseEvent mouse)
Dieses Signal wird bei einem Doppelklick (einem Drücken, gefolgt von einem Loslassen und anschließendem erneuten Drücken) ausgelöst. Der Parameter „ mouse “ liefert Informationen zum Klick, darunter die x- und y-Koordinaten des Zeitpunkts, zu dem der Klick losgelassen wurde, sowie die Angabe, ob der Klick gehalten wurde.
Bei der Verarbeitung dieses Signals werden die Signale „pressed“, „released“ und „clicked“ für den zweiten Klick ausgegeben, wenn die Eigenschaft „ accepted “ des Parameters „ mouse “ auf „false“ gesetzt ist; andernfalls werden sie unterdrückt. Die Eigenschaft „ accepted “ ist standardmäßig auf „true“ gesetzt.
Hinweis: Der entsprechende Handler ist „ onDoubleClicked “.
entered()
Dieses Signal wird ausgelöst, wenn die Maus den Mausbereich betritt.
Standardmäßig wird dieses Signal nur ausgelöst, wenn gerade eine Taste gedrückt ist. Setzen Sie „ hoverEnabled “ auf „true“, um dieses Signal auch dann auszulösen, wenn keine Maustaste gedrückt ist.
Hinweis: Der entsprechende Handler lautet „ onEntered “.
Siehe auch „ hoverEnabled “.
exited()
Dieses Signal wird ausgelöst, wenn die Maus den Mausbereich verlässt.
Standardmäßig wird dieses Signal nur ausgelöst, wenn gerade eine Taste gedrückt ist. Setzen Sie „ hoverEnabled “ auf „true“, damit dieses Signal auch dann ausgelöst wird, wenn keine Maustaste gedrückt ist.
Das folgende Beispiel zeigt eine recht typische Beziehung zwischen zwei „MouseAreas“, wobei „ mouseArea2 “ über „ mouseArea1 “ liegt. Wenn die Maus von „ mouseArea1 “ in „ mouseArea2 “ bewegt wird, löst dies bei „ mouseArea1 “ das Signal „ exited “ aus.
Rectangle {
width: 400; height: 400
MouseArea {
id: mouseArea1
anchors.fill: parent
hoverEnabled: true
}
MouseArea {
id: mouseArea2
width: 100; height: 100
anchors.centerIn: parent
hoverEnabled: true
}
}Wenn Sie den beiden „MouseAreas“ stattdessen eine Eltern-Kind-Beziehung zuweisen, löst das Bewegen der Maus von mouseArea1 auf mouseArea2 nicht aus, dass mouseArea1 das Signal „ exited “ aussendet. Stattdessen wird davon ausgegangen, dass sich der Mauszeiger gleichzeitig über beiden Elementen befindet.
Hinweis: Der entsprechende Handler ist onExited.
Siehe auch hoverEnabled.
positionChanged(MouseEvent mouse)
Dieses Signal wird ausgelöst, wenn sich die Mausposition ändert.
Der Parameter „ mouse “ liefert Informationen zur Maus, darunter die x- und y-Position sowie die aktuell gedrückten Tasten.
Standardmäßig wird dieses Signal nur ausgelöst, wenn eine Taste gerade gedrückt ist. Setzen Sie „ hoverEnabled “ auf „true“, um dieses Signal auch dann auszulösen, wenn keine Maustaste gedrückt ist.
Bei der Verarbeitung dieses Signals hat eine Änderung der Eigenschaft „ accepted “ des Parameters „ mouse “ keine Auswirkung.
Hinweis: Der entsprechende Handler lautet „ onPositionChanged “.
pressAndHold(MouseEvent mouse)
Dieses Signal wird bei einem langen Druck (derzeit 800 ms) ausgelöst. Der Parameter „ mouse “ liefert Informationen zum Druckvorgang, darunter die x- und y-Position des Drucks sowie die betätigte Taste.
Bei der Verarbeitung dieses Signals hat eine Änderung der Eigenschaft „ accepted “ des Parameters „ mouse “ keine Auswirkung, es sei denn, die Eigenschaft „ propagateComposedEvents “ ist auf „ true “ gesetzt.
Hinweis: Der entsprechende Handler lautet „ onPressAndHold “.
pressed(MouseEvent mouse)
Dieses Signal wird bei einer Tastendrückung ausgelöst. Der Parameter „ mouse “ liefert Informationen zur Tastendrückung, darunter die x- und y-Position sowie die betätigte Taste.
Bei der Verarbeitung dieses Signals können Sie mithilfe der Eigenschaft „ accepted “ des Parameters „ mouse “ steuern, ob dieser „ MouseArea “ den Tastendruck und alle zukünftigen Mausereignisse bis zum Loslassen der Taste verarbeitet. Standardmäßig wird das Ereignis akzeptiert, und es wird verhindert, dass andere „MouseAreas“ unterhalb dieses Bereichs das Ereignis verarbeiten. Ist „accepted“ auf „false“ gesetzt, werden keine weiteren Ereignisse an diesen „ MouseArea “ gesendet, bis die Taste erneut gedrückt wird.
Hinweis: Der entsprechende Handler ist „ onPressed “.
released(MouseEvent mouse)
Dieses Signal wird bei einer Loslassung ausgegeben. Der Parameter „ mouse “ liefert Informationen zum Klick, darunter die x- und y-Position der Loslassung sowie die Angabe, ob der Klick gehalten wurde.
Bei der Verarbeitung dieses Signals hat eine Änderung der Eigenschaft „ accepted “ des Parameters „ mouse “ keine Auswirkung.
Hinweis: Der entsprechende Handler ist „ onReleased “.
Siehe auch „ canceled “.
wheel(WheelEvent wheel)
Dieses Signal wird sowohl bei Scroll-Gesten mit dem Mausrad als auch mit dem Trackpad ausgelöst.
Der Parameter „ wheel “ liefert Informationen zum Ereignis, darunter die x- und y-Position, aktuell gedrückte Tasten sowie Informationen zur Radbewegung, einschließlich „angleDelta“ und „pixelDelta“.
Hinweis: Der entsprechende Handler lautet „ onWheel “.
© 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.