这里把Qtquick核心编程里面的练习记录下:
import QtQuick 2.5
Rectangle{
width:300;
height:400;
id:root;
color:"green";
Text{
id:colorText;
anchors.horizontalCenter: parent.horizontalCenter;
anchors.top : parent.top;
anchors.topMargin: 20;
text:"Hello QtQuick";
}
Component {
id:colorComponent;
Rectangle{
id:colorPicker;
width: 50;
height: 30;
signal colorPicked(color clr);
MouseArea {
anchors.fill: parent;
onPressed: colorPicker.colorPicked(colorPicker.color);
}
}
}
Loader {
id:redLoader;
anchors.left: parent.left;
anchors.leftMargin: 10;
anchors.bottom: parent.bottom;
anchors.bottomMargin: 10;
sourceComponent: colorComponent;
onLoaded: {
item.color = "red";
}
}
Loader {
id:blueLoader;
anchors.left: redLoader.right;
anchors.leftMargin: 10;
anchors.bottom: parent.bottom;
anchors.bottomMargin: 10;
sourceComponent: colorComponent;
onLoaded: {
item.color = "blue";
}
}
Connections{
target: redLoader.item;
onColorPicked:{
colorText.color = clr;
}
}
Connections{
target: blueLoader.item;
onColorPicked:{
colorText.color = clr;
}
}
}
这个是信号与信号连接代码:
import QtQuick 2.5
Rectangle{
width:300;
height:400;
id:root;
color:"green";
signal send();
onSend: colorText.text = "信号connect信号";
Text{
id:colorText;
anchors.horizontalCenter: parent.horizontalCenter;
anchors.top : parent.top;
anchors.topMargin: 20;
text:"Hello QtQuick";
}
MouseArea{
id:mouseArea;
anchors.fill: parent;
onClicked: console.log("MouseArea clicked");
}
Component.onCompleted: {
mouseArea.clicked.connect(send);
}
}