标签(空格分隔): Qt
一个Connections对象创建一个到QML信号的连接。
Connections有一个属性名为target,它指向发出信号的对象。
语法:
Connections {
target: area;
on<Singal>: function or code block;
}
我们来看一个实例: 界面上放两个文本,一个按钮,每点按钮一次,两个文本对象都变色,而它们的颜色是随机的。
import QtQuick 2.0
import QtQuick.Controls 2.2
Rectangle {
width: 320;
height: 240;
color: "#d5d5d5";
Text {
id:text1;
anchors.horizontalCenter: parent.horizontalCenter;
anchors.top:parent.top;
anchors.topMargin: 20;
text:"Text One";
color: "blue";
font.pixelSize: 28;
}
Text {
id: text2;
anchors.horizontalCenter: parent.horizontalCenter;
anchors.top:text1.bottom;
anchors.topMargin: 8;
text:"Text Two";
color: "blue";
font.pixelSize: 28;
}
Button {
id:changeButton;
anchors.top:text2.bottom;
anchors.topMargin: 8;
anchors.horizontalCenter: parent.horizontalCenter;
text:"Change";
}
Connections {
target: changeButton;
onClicked: {
text1.color = Qt.rgba(Math.random(),Math.random(),Math.random(),1);
text2.color = Qt.rgba(Math.random(),Math.random(),Math.random(),1);
}
}
}
Connections对象中指定target为changeButton,然后定义了onClicked信号处理器,在信号处理器中使用Qt.rbg()和Math.random()构造一个随机的颜色值来改变两个文本的颜色。
网友评论