So erstellen Sie einen runden Mausbereich in QML
Ich habe eine einfache benutzerdefinierte Schaltfläche mit einem Rechteck mitradius: width/2
. Jetzt füge ich ein @ hinMouseArea
zu meiner Taste. DasMouseArea
hat eine quadratische Form. Das bedeutet, dass das Klickereignis auch ausgelöst wird, wenn ich etwas außerhalb der runden Schaltfläche klicke, d. H. In den Ecken des imaginären Quadrats um die runde Schaltfläche. Kann ich irgendwie auch das @ machMouseArea
Runde?
import QtQuick 2.7
import QtQuick.Window 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("TestApp")
Rectangle {
id: background
anchors.fill: parent
color: Qt.rgba(0.25, 0.25, 0.25, 1);
Rectangle {
id: button
width: 64
height: 64
color: "transparent"
anchors.centerIn: parent
radius: 32
border.width: 4
border.color: "grey"
MouseArea {
anchors.fill: parent
onPressed: button.color = "red";
onReleased: button.color = "transparent";
}
}
}
}