Loader 用来动态加载 QML 组件。 我们可以把 Loadei 作为占位符使用,在需要显示某个元素时, 才使用 Loader 把它加载进来。
Loader 详细介绍
Loader 可以使用其 source 属性加载一个 QML 文档, 也可以通过其 sourceComponent 属 性加载一个 Component 对象。当你需要延迟一些对象直到真正需要才创建它们时,Loader 非 常有用。当 Loader 的 source 或 sourceComponent 属性发生变化时, 它之前加载的 Component 会自动销毁, 新对象会被加载。 将 source 设置为一个空字符串或将 sourceComponent 设置为 undefined, 将会销毁当前加载的对象,相关的资源也会被释放, 而 Loader 对象则变成一个空 对象。 .
Loader 的 item 属性指向它加载的组件的顶层 Item, 比如 Loader 加载了颜色选择组件, 其 item 属性就指向颜色选择组件的 Rectangle 对象。 对于 Loader 加载的 Item, 它暴露出来 的接口, 如属性、信号等, 都可以通过 Loader 的 item 属性来访问。所以, 我们才可以这么 使用。
我们改变一下颜色选择器示例的代码, 两个 Loader 对象, 一个设置尺寸, 一个不设置, 看看是什么效果
import QtQuick 2.0
Rectangle {
width: 320;
height: 240;
color: "#C0C0C0";
Text {
id: coloredText;
anchors.horizontalCenter: parent.horizontalCenter;
anchors.top: parent.top;