QML에서 동적 다단계 과정을 구성 요소입니다 만들기. .. Qt.createComponent()가 첫 번째 단계입니다 호출 documentation on this process 즉시 많은 간단한 경우
, 구성 요소로드 일부 내용이수록 당신은이 작업을 수행 할 수 있습니다
// Create our Component
var myComponent = Qt.createComponent("foobar.qml");
// Instantiate the Component's object, give it a parent, and set its properties
var foobar = myComponent.createObject(parentObject, {"x": 0, "y": 0});
그러나 더 복잡한 경우에는 구성 요소의 statusChanged 신호에 연결해야합니다. 이에 대한 전체 예제는 위의 문서에서 참조 용으로 여기에 복사하여 붙여 넣었습니다.
var component;
var sprite;
function createSpriteObjects() {
component = Qt.createComponent("Sprite.qml");
if (component.status == Component.Ready)
finishCreation();
else
component.statusChanged.connect(finishCreation);
}
function finishCreation() {
if (component.status == Component.Ready) {
sprite = component.createObject(appWindow, {"x": 100, "y": 100});
if (sprite == null) {
// Error Handling
console.log("Error creating object");
}
} else if (component.status == Component.Error) {
// Error Handling
console.log("Error loading component:", component.errorString());
}
}
구성 요소가 예약 키워드가 아닙니까? 그 변수에 다른 이름을 붙이려고 했습니까? – MrEricSir
@MrEricSir 질문을 작성하고 다른 변수를 시도했지만 여전히 작동하지 않는다는 것을 깨달았습니다. – HackToHell