【发布时间】:2018-05-09 11:45:20
【问题描述】:
我正在使用 Loader 元素以异步方式加载主要内容 qml 并准备好它,同时在窗口上主动显示另一个 qml。
我正在尝试在 2 秒的计时器到期时显示 loader_two 内容。但是即使在计时器到期之前,loader_two 也是可见的。我如何实现这一目标?
这是我的代码。
Loader{
id:loader_one
active: true
visible: true
anchors.fill: parent
asynchronous: true
source: "Start.qml"
onLoaded: {
loader_two.active = true
show_content_timer.start()
}
}
Loader{
id:loader_two
active:false
anchors.fill: parent
asynchronous: true
source: "Main_content.qml"
}
Timer{
id: show_content_timer
interval: 2000
repeat: false
running: false
triggeredOnStart: false
onTriggered:
{
console.log("2seconds expired")
loader_one.source = ""
loader_one.item.visible = false;
loader_two.item.visible = true;
}
}
【问题讨论】:
-
你毫不拖延地将
loader_two.active = true设置为loader_one.onLoaded。 -
我正在设置它,因为我需要加载器二的内容在后台准备好。如果 Loader 处于非活动状态,则更改源不会导致项目被实例化,直到 Loader 处于活动状态。