qml에서 DragHandler를 사용하면 창을 클릭해서 드래그하면 옮길 수있다.
color: "transparent" 로 설정하면 부모의 색깔을 따라가므로 투명처리가 된다거나 부모의 색 값을 받아올 수 잇다.
frameless 윈도우를 만들면 창크기 조절기능도 사라져버리는데 그땐 아래의 코드를 활용할 수 있다.
코드출처 : https://stackoverflow.com/questions/74155493/how-can-i-resize-frameless-window-in-qml
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
acceptedButtons: Qt.LeftButton
property int edges: 0;
property int edgeOffest: 5;
function setEdges(x, y) {
edges = 0;
if(x < edgeOffest) edges |= Qt.LeftEdge;
if(x > (width - edgeOffest)) edges |= Qt.RightEdge;
if(y < edgeOffest) edges |= Qt.TopEdge;
if(y > (height - edgeOffest)) edges |= Qt.BottomEdge;
}
cursorShape: {
return !containsMouse ? Qt.ArrowCursor:
edges == 3 || edges == 12 ? Qt.SizeFDiagCursor :
edges == 5 || edges == 10 ? Qt.SizeBDiagCursor :
edges & 9 ? Qt.SizeVerCursor :
edges & 6 ? Qt.SizeHorCursor : Qt.ArrowCursor;
}
onPositionChanged: setEdges(mouseX, mouseY);
onPressed: {
setEdges(mouseX, mouseY);
if(edges && containsMouse) {
startSystemResize(edges);
}
}
}
Qt.window를 안하면 알트탭할때 안뜬다