import QtQuick 2.5 import QtQuick.Window 2.2 Window { visible: true width: 400 height: 400 Rectangle{ id:rec x:50 y:50 width:250 height: 250 color: "gray" Canvas{ x:50 y:50 id:canvas width: 150 height: 150 property real lastX property real lastY contextType: "2d" visible: true onPaint: {//绘图事件的响应 context.lineWidth=1.0;//线的宽度 context.strokeStyle="red";//线的颜色 context.fillStyle="white";//填充颜色 context.beginPath();//开始 context.moveTo(lastX, lastY)//移动到指定位置 lastX = area.mouseX lastY = area.mouseY context.lineTo(lastX, lastY)//划线到指定位置 context.stroke();//背景执行 } MouseArea { id: area anchors.fill: parent//屏蔽父窗口的点击事件 onPressed: { canvas.lastX = mouseX//鼠标位置 canvas.lastY = mouseY } onPositionChanged: {//位置改变事件 canvas.requestPaint()//重绘 }} } }}
qml的绘图Canvas
最新推荐文章于 2024-07-30 09:57:08 发布