qml 弹窗相关问题1
## 1.遮罩层
最外层rectangle使用的color: Qt.rgba(0, 0, 0, 0.5);
## 2.鼠标点击事件
鼠标点击除内容区域外的地方,关闭弹窗。原理:使用判断鼠标点击的坐标是否在该区域内,如不在则调用关闭函数。
以下是最外层rectangle鼠标点击区域代码:
//阻止鼠标事件的传递
MouseArea {
anchors.fill: parent
propagateComposedEvents: true
onClicked: {
mouse.accepted = true;
var conXMin = content.x, conXMax = content.x + content.width;
var conYMin = content.y, conYMax = content.y + content.height;
if(!((mouseX > conXMin && mouseX < conXMax) && (mouseY > conYMin && mouseY < conYMax))) {
root.close();
}
}
}