《【入门】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
---> 编程是一件怎么也学不会的事情,但是如果能享受学习的过程也是挺好的。