是否可以将矩形移出窗口?我唯一想到的是编写自定义逻辑,当将矩形移动到窗口外时,将调整顶部窗口的大小。
当前行为(imgur .gif):
当前行为
期望行为(imgur .png):
期望的行为
main.qml
import QtQuick 2.15
import QtQuick.Window 2.15
Window {
id: root
width: 300
height: 500
visible: true
flags: Qt.ToolTip | Qt.FramelessWindowHint | Qt.WA_TranslucentBackground
color: "#00000000"
Rectangle {
id: draggable
color: "blue"
x: 100
y: 100
width: 100
height: 100
MouseArea {
anchors.fill: parent
property real lastMouseX: 0
property real lastMouseY: 0
onPressed: {
lastMouseX = mouseX
lastMouseY = mouseY
}
onMouseXChanged: {
draggable.x += (mouseX - lastMouseX)
}
onMouseYChanged: {
draggable.y += (mouseY - lastMouseY)
}
}
}
Rectangle {
color: "blue"
x: 100
y: 300
width: 100
height: 100
// ...
}
}
Windows可以是其他Windows的子操作系统。Window行为仍然受到某些平台相关行为的影响,但在桌面环境中,子Windows应该仍然能够移动到父窗口之外。所以只要把矩形改成Window就可以达到你想要的效果了。
Window {
id: root
Window {
id: draggable
...
}
}