先看一下做的Demo效果:

QML遮罩效果Demo_QML

 

代码:

import QtQuick 2.3
import QtQuick.Window 2.2
import QtGraphicalEffects 1.0

Window {
visible: true
Item {
width: parent.width
height: parent.height
Image {
id: person
source: "qrc:/psb.jpg"
anchors.fill: parent
visible: false
}
Image {
id: mask
source: "qrc:/butterfly_transparent.png"
anchors.fill: parent
visible: false
}
OpacityMask {
id:om
anchors.fill: person
source: person
maskSource: mask
}
}
}