QML Loader ... Как выгрузить или удалить страницу qml, загруженную в элемент Loader
Я загрузил MyItem.qml в качестве исходного компонента на элемент Loader. Теперь я хочу удалить или выгрузить эту страницу из элемента Loader. Я попытался установить source: "" & sourceComponent: "", также sourceComponent: "undefined". Но это не сработало
4 ответа
Вы должны установить sourceComponent = undefined
или же source = ""
, Обычно я использую этот код:
Loader{
id: loader
function show(component) {
sourceComponent = component;
}
function hide(){
sourceComponent = undefined;
}
}
Вы можете просто установить active
собственность на false
для разгрузки или true
(по умолчанию) для загрузки.
Например есть такой загрузчик:
Loader {
id: loaderLanguage
}
в неактивный:
loaderLanguage.active= false
Вы не сказали, какова была настоящая проблема, но в случае, если вы столкнулись с ошибками, когда компонент, который вы пытаетесь выгрузить, пытается получить доступ к вещам, которых он не должен, это может быть потому, что Loader удаляет элемент с deleteLater()
, что означает, что он не будет удален сразу. Смотрите этот отчет об ошибке для получения дополнительной информации: