信号和信号处理器特性
很多时候,应用程序的用户界面组件需要相互通信。例如,一个按钮需要知道用户是否进行了单击:当用户单击后,它可能会更改颜色来指示它状态的改变,或者执行一些逻辑代码实现一定的功能。同Qt一样,QML包含了相似的信号和信号处理器机制。
信号是发出事件(例如属性更改、动画状态变化、图片下载完成等)的对象发射的通知,比如MouseArea类型有一个clicked信号,当用户在MouseArea部件上单击时,该信号就会发射。特定的信号发射后,可以通过相应的信号处理器获得通知。信号处理器的声明语法为:on<Signal>,其中<Signal>是信号的名字(首字母需要大写)。信号处理器必须在发出信号的对象的定义中进行声明,其中包含调用时要执行的JavaS-cript代码块。
import QtQuick 2.14
import QtQuick.Window 2.14
import QtQuick.Controls 2.12
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Rectangle {