您的位置:首页 > 产品设计 > UI/UE

QtQuick学习笔记之QML自定义信号

2016-06-14 08:57 405 查看
这里把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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息