在 QML 中,我们可以使用 signal 关键字来定义信号,使用 emit 关键字来发送信号。

以下是一个发送信号的示例:

import QtQuick 2.0

Item {
    signal mySignal(string message)

    Rectangle {
        width: 100
        height: 100
        color: "red"

        MouseArea {
            anchors.fill: parent
            onClicked: {
                mySignal("Hello World!")
            }
        }
    }

    Connections {
        target: myObject

        onMySignal: {
            console.log(message)
        }
    }
}

在上面的示例中,我们在 Item 内定义了一个名为 mySignal 的信号。当 Rectangle 被点击时,会使用 emit 关键字发送信号,并传递一个字符串参数。

Connections 中,我们将 myObject 设为信号的目标对象。当 myObject 接收到信号时,会触发 onMySignal 回调函数,并将信号的参数传递给它。在这个示例中,我们简单地将消息打印到控制台上。

请注意,myObject 是一个自定义的对象,你可以根据自己的需要进行定义

qml 发送信号

原文地址: https://www.cveoy.top/t/topic/hQuu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录