【入门】QML中的信号和槽(2)
《【入门】QML终端信号和槽》中说到了信号触发响应和属性变化触发响应。
接下来看看另外的两种信号的处理方式。
1.Connections。
Connections可以用于处理任意元素的信号。其基本格式如下:
Connections{
target: 目标元素id
on信号:{
//处理.....
}
}
例:
例子中Connections的目标对象是mouse1,处理的信号是clicked。意思是当
点击mouse1时,改变root的颜色。
要实现类似的功能直接在MouseArea的内部直接就能处理了,为什么还要多声明
一个元素这么麻烦呢?因为Connections的target属性是可以改变的,这样就可以
动态的改变触发信号的元素,更加的灵活。
2.使用connect方法连接信号和槽(或信号)
QML中也有类似Qt中的connect方法,其形式如:
信号.connect(信号/槽)
所谓槽只是习惯Qt的叫法,其实就是普通的函数。QML中使用的函数是javascript
函数。一个信号可以连接多个信号和函数。
例:
例子中声明了一个信号和一个函数,当组件加载完成时连接信号和函数。点击小矩形时触发mySignal
信号可以看到整个矩形变成了红色,说明sltMySlot执行了。
---> 文章来源于我的个人博客:fearlazy
---> 编程是一件怎么也学不会的事情,但是如果能享受学习的过程也是挺好的。