저는 QML/자바 스크립트 멍청한 놈입니다.QML 캔버스 업데이트
나는 흰색 QML 캔버스 요소에 (작은 검은 색 원으로 표시) 몇 가지 포인트를 삽입 한 다음
다음내 QML (예 : 외부 기하학적 라이브러리를 통해 볼록 선체를 찾는으로) 그들에 알고리즘을 실행하려면 암호.
import QtQuick 2.5
import QtQuick.Window 2.2
Window{
id: root
width: 640
height: 480
visible: true
Canvas {
width: 1000
height: 1000
onPaint: {
var context = getContext("2d");
}
MouseArea {
id: mymouse
anchors.fill: parent
property var arrpoints : []
onClicked: {
// Record mouse-position
arrpoints = arrpoints.concat([mouseX, mouseY])
console.log(arrpoints)
}
}
}
}
지금까지 위의 코드는, 그것에 QML 캔버스로, 창을 열어, 나는 내 마우스로 하나의 버튼으로 클릭 (배열 arrpoints
를 통해) 캔버스에 위치를 추적 할 수 있습니다, 클릭 한 포인트의 배열을 콘솔에 출력합니다.
하지만 이제는 arrpoints
이 변경 될 때마다 'QML에 그 시점에서 작은 검은 색 원을 그려야한다고 어떻게 말할 수 있습니까?
QML의 onPaint
부분이 새 상태의 렌더링을 즉시 트리거한다고 생각했지만, 사용자가 캔버스에서 처음으로 작업하기 전에 해당 부분이 캔버스의 초기 그림에만있는 것으로 보입니다.