在QML中,要清空Canvas上已经绘制的内容,可以使用clear()方法。以下是一个示例:
import QtQuick 2.15
Item {
width: 400
height: 400
Canvas {
id: canvas
anchors.fill: parent
onPaint: {
var ctx = getContext("2d");
// 绘制图形
ctx.fillStyle = "red";
ctx.fillRect(0, 0, width, height);
}
}
Button {
text: "Clear"
anchors.centerIn: parent
onClicked: {
canvas.requestPaint();
canvas.clear(); // 清空Canvas内容
}
}
}
在上面的示例中,Canvas通过onPaint信号触发绘制,并且绘制了一个红色矩形。点击按钮时,使用canvas.clear()
方法来清空已绘制的内容。然后通过canvas.requestPaint()
方法来请求重新绘制画布,这样就能实现清空效果。
内容由零声教学AI助手提供,问题来源于学员提问