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";
              }
          }

      }
  }

Antworten auf die Frage(4)

Ihre Antwort auf die Frage