自定义信号

来源:互联网 发布:农村创业软件 编辑:程序博客网 时间:2024/06/05 04:28

一、格式

1.信号定义:

signal <信号名称>([<参数1>,[<参数2>]...])

2.信号触发同普通函数调用

3.信号侦听(槽):on + 首字母大写的信号名称

二、例子

1、自定义了信号的文件 ClickableSquare.qml

import QtQuick 2.0Rectangle {    id:root    width: 200    height: 200    color: "#7a7556"    signal myClicked()    MouseArea{        anchors.fill: parent        onClicked:{            root.myClicked();        }    }}

2、在main.qml中侦听信号

import QtQuick 2.8import QtQuick.Window 2.2import QtQuick.Controls 2.1Window {    id:uiRoot    visible: true    width: 640    height: 480    title: qsTr("Hello World")    ClickableSquare{        id:uiSquare        onMyClicked: {            console.log("signal succ");        }    }    function handleSignal(){        console.log("signal succ 2");    }    Component.onCompleted: {        uiSquare.myClicked.connect(uiRoot.handleSignal);    }}

3、注意事项:ClickableSqure.qml 中定义的信号名为: myClicked,调用的信号名也为 myClicked,但是在 main.qml 中侦听信号时,信号名用的是 onMyClicked 。



原创粉丝点击