1

我想设计以下按钮布局:

关联

它在蓝色背景上放置了一个重新启动按钮图像。我想使用 QML 在 Qt 中复制相同的内容。我正在使用一个 MouseArea Qt Quick 对象,我在拉伸填充模式下将图像重叠在该对象上。但是,没有为鼠标区域获得蓝色背景的选项。目前它看起来像这样:

关联

相同的对应代码:

MouseArea {
    id: restartbutton
    x: 669
    width: 50
    height: 50
    opacity: 1
    antialiasing: false
    hoverEnabled: true
    anchors.top: parent.top
    anchors.topMargin: 8
    z: 1

    Image {
        id: image2
        anchors.fill: parent
        source: "restart_icon.png"
    }

}

如何在此处设置 MouseArea 的背景?

4

2 回答 2

1

你可能想这样使用Rectangle

Rectangle {
  width:50
  height: 50
  Image {
    anchors.fill:parent
    source: "restart_icon.png"
  }
  MouseArea {
    anchors.fill:parent
    onClicked: {...}
  }
}

查看QML 高级教程以获取更多信息

于 2017-06-14T09:06:50.280 回答
0

我认为这样更容易阅读:

   MouseArea { id: clickArea
        anchors {
            fill: parent 
            margins: -10   // optional to enlarge the backgound / click zone
        }
        onClicked: {
            console.log("clicked!")
        }
        Rectangle {  // background, also allowing the click
            anchors.fill: clickArea
            border.color: "black"
            color: "lightblue"
            opacity: 0.3
        }
   }
于 2021-04-27T09:01:07.780 回答