Ich versuche, sehr einfache Anwendung in QT QML mit QtQuick 2.7 zu erstellen. Ich habe auf der Leinwand ein Rechteck und nach Drücken der Taste Ich möchte eine andere Rechteck hinzuzufügen. Problem ist, dass die Rechteck, die nach Schaltfläche klicken sollte, wird nicht erstellt (ich kann es nicht auf Canvas Leinwand sehen), aber console.log() Ausgabe Button 1 cliceked
ich sehe. Was mache ich falsch? Gibt es eine Notwendigkeit, die Leinwand oder etwas zu aktualisieren? Mein Code ist:Zugriff auf QML Canvas von Javascript in QT
Page1Form {
property alias canvas: canvas
button1.onClicked: {
console.log("Button 1 clicked.");
var ct = canvas.getContext("2d");
ct.fillStyle = Qt.rgba(0, 0, 1, 1);
ct.fillRect(50, 50, 10, 10);//this doesnt work
}
Canvas {
id: canvas
x: 16
y: 39
width: 342
height: 517
onPaint: {
var ctx = getContext("2d");
ctx.fillStyle = Qt.rgba(1, 1, 1, 1);
ctx.fillRect(10, 10, 10, 10);
}
}
}