Connections对象中指定target为changeButton(Change按钮的id),然后定义了onClicked信号处理器,在信号处理器中使用Qt.rgba()和Math.random()构造一个随机的颜色值来改变两个文本的颜色。
import QtQuick 2.2
import QtQuick.Window 2.2
import QtQuick.Controls 1.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Rectangle {
width: 300;
height: 150;
color: "gray";
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: 20;
text: "Text Two";
color: "blue";
font.pixelSize: 28;
}
Button {
id: changeButton;
anchors.top: text2.bottom;
anchors.topMargin: 20;
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);
}
}
}
}
运行结果如下: