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를 안하면 알트탭할때 안뜬다