-
Notifications
You must be signed in to change notification settings - Fork 366
/
Copy pathmain.qml
71 lines (67 loc) · 1.92 KB
/
main.qml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import QtQuick 2.15
import QtQuick.Window 2.15
import Test 1.0
Window {
id: root
width: 640
height: 480
visible: true
title: qsTr("GongJianBo")
Rectangle {
width: 200
height: 200
color: "transparent"
border.color: bottom.containsMouse ? "red" : "black"
Text {
anchors.centerIn: parent
text: String("(%1,%2)").arg(bottom.mouseX).arg(bottom.mouseY)
}
// 最下层MouseArea
MouseArea {
id: bottom
anchors.fill: parent
hoverEnabled: true
}
Rectangle {
x: 100
y: 100
width: 200
height: 200
color: "transparent"
border.color: top.containsMouse ? "red" : "black"
Text {
anchors.centerIn: parent
text: String("(%1,%2)").arg(top.mouseX).arg(top.mouseY)
}
// 自定义MouseArea,收到事件后转发给下层MouseArea
MyMouseArea {
id: top
anchors.fill: parent
hoverEnabled: true
forwardTo: bottom
}
Rectangle {
x: 100
y: 100
width: 200
height: 200
color: "transparent"
border.color: topmost.containsMouse ? "red" : "black"
Text {
anchors.centerIn: parent
text: String("(%1,%2)").arg(topmost.mouseX).arg(topmost.mouseY)
}
// 用普通MouseArea,然后事件过滤后转发
MouseArea {
id: topmost
anchors.fill: parent
hoverEnabled: true
}
MyMouseFilter {
attach: topmost
forwardTo: top
}
}
}
}
}