QML 2.0을 사용하여 웨이브 폼을 만듭니다. 사용자가 파형을 클릭하고 사용자가 마우스 버튼을 놓을 때 끝나는 사각형을 그리는 방법을 알고 싶습니다.마우스를 사용하여 사각형을 그립니다. QML
노란색 사각형과 같은 것이 필요합니다.
Canvas에서 시도했지만 제대로 작동하지 않습니다. 도와 주시겠습니까?
Canvas {
property int prevX
property int prevY
property int hh:wave.height
property int lineWidth: 2
property color drawColor: "red"
id:mycanvas
height: 200
width: 2000
MouseArea {
id:mousearea
anchors.fill: parent
cursorShape:Qt.PointingHandCursor
onPositionChanged: mycanvas.requestPaint();
onPressed: {
prevX = mouse.x;
prevY = mouse.y
var mousePosition = mouse.x/mousearea.width;
wave.zoomOut(mousePosition);
console.log("QML: ZoomStart mousePosition " + mousePosition)
}
onReleased: {
var mousePosition = mouse.x/mousearea.width;
console.log("QML: ZoomFinish mousePosition " + mousePosition)
wave.zoomOut2(mousePosition);
}
}
onPaint: {
var ctx = getContext('2d');
ctx.beginPath();
ctx.fillStyle = "#000000"
ctx.globalAlpha = 0.05
ctx.fillRect(prevX, 0, mousearea.mouseX-prevX,mainRectangle.height/4.5);
ctx.stroke();
ctx.restore();
}
}
왜 제대로 작동하지 않습니까? 그것은 무엇을 잘못합니까? – Mitch
오류로 인해 코드가 실행되지 않습니다. 그렇게 게시하십시오. – Mitch
@Mitch 당신은 새로운 QML 질문자를 downvoting합니까? ;) – mlvljr