QML动态加载组件
2024-09-13 21:13:32
QML中的组件可以重复使用,并且可以通过Loader加载。如下示例:
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2 Rectangle{
id: root
width: 512
height: 512
color: "gray" Text {
id: coloredText
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: 20 text: "Hello World"
color: "blue"
font.pointSize: 30
} Component {
id: colorComponent
Rectangle {
id: colorPicker
width: 50
height: 30 signal colorPicked(color clr); MouseArea {
anchors.fill: parent
onPressed: colorPicker.colorPicked(colorPicker.color);
}
}
} Loader {
id: redLoader
anchors.left: parent.left
anchors.leftMargin: 4
anchors.bottom: parent.bottom
anchors.bottomMargin: 4 sourceComponent: colorComponent
onLoaded: {
item.color = "red"
}
} Loader {
id: blueLoader
anchors.left: redLoader.right
anchors.leftMargin: 4
anchors.bottom: parent.bottom
anchors.bottomMargin: 4 sourceComponent: colorComponent
onLoaded: {
item.color = "blue"
}
} Connections {
target: redLoader.item
onColorPicked: {
coloredText.color = clr
}
} Connections {
target: blueLoader.item
onColorPicked: {
coloredText.color = clr
}
}
}
最新文章
- Windows 10 的音频和 MIDI API将统一
- C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用
- List<;List<;double>;>; lsls = null; 根据double值来重新排序lsls...
- ThreadPool线程池 小结
- shell使用随笔
- Javascript中call的使用
- The C++ Standard Library --- A Tutorial Reference 读书笔记
- 《Java程序设计》第九周学习总结
- js 字符串扩展
- python3 字典常见用法总结
- 左侧 随着页面滚动固定 fixed. scroll .scrollTop
- MySQL入门很简单-触发器
- DBMS_ROWID定位数据行物理存储位置
- Redis进阶实践之二如何在Linux系统上安装安装Redis(转载)(2)
- spring cloud zuul在使用中遇到的坑 : 转发时自动去掉prefix
- Django入门(二)
- SharePoint 2013 网站迁移流程
- ubuntu14.04 LTS 搜狗输入法安装和不能输入中文的解决方法
- Hadoop中Comparator原理
- follow up2-20190426