我正在 Qt6 中开发一个项目,使用 Qt Design Studio。
我目前面临与
QML中的
Canvas
元素相关的问题。具体来说,我尝试使用 onPaint
信号处理程序,但遇到以下错误:
无法分配给不存在的属性“onPaint”
我已经确保同时导入
QtQuick 2.15
和 QtQuick.Controls 2.15
。
以下是相关代码片段:
import QtQuick 2.15
import QtQuick.Controls 2.15
...
Canvas {
id: canvas
anchors.fill: parent
onPaint: {
// Some code...
}
}
任何人都可以帮助我理解为什么会出现此错误以及如何解决它?
附加信息:
Qt6.x文档https://doc.qt.io/qt-6/qml-qtquick-canvas.html实际上有一个错误。它不应在导入行中包含版本号:
import QtQuick
Canvas {
id: mycanvas
width: 100
height: 200
onPaint: {
var ctx = getContext("2d");
ctx.fillStyle = Qt.rgba(1, 0, 0, 1);
ctx.fillRect(0, 0, width, height);
}
}
您可以在线尝试!