私はMapPolylineのリストを持っており、動的に追加されたオブジェクトをこのリストに保存しようとしています。よく動作しますが、リスト内のオブジェクトを取得しようとすると動作しません。それは私のコードここリスト内の要素のQMLアクセスプロパティ
property list<MapPolyline> lines
var component;
var sprite;
component = Qt.createComponent("lineStringComponent.qml");
sprite = component.createObject(window,{"id": "button1"});
sprite.addCoordinate(QtPositioning.coordinate(currentgcppoint.lat, currentgcppoint.lon));
sprite.addCoordinate(gcppoint);
map.addMapItem(sprite)
lines.push(sprite)
gcps.push(currentgcppoint)
console.log("Added:", lines[1])
console.log("width:", lines[1].line.width)
がされている。ここTypeError: Cannot read property of undefined
を言うlineStringComponent.qml
import QtQuick 2.2
import QtLocation 5.6
import QtPositioning 5.6
MapPolyline {
id:polyline
line.width: 3
line.color: Qt.rgba(Math.random(),Math.random(),Math.random())
}
コンソール出力は次のようになります。それは新しいオブジェクトを作成しようとすると、それは遅延を持っているようだ
Added: undefined
TypeError: Cannot read property 'line' of undefined
。どうすればこの遅れを克服できますか?私はあなたのコードを読めばあなたはline[1]
でlines
の2番目の要素を取得しようとするよりも、
すごい、オブジェクトの作成と遅延が存在することになる場合は、おかげで非常にそれは、私は非常に感謝を気づかなかった私の明白な間違いでしたたくさん –