未收到来自已加载项目的QML信号

时间:2019-01-11 10:15:51

标签: qt qml

我有两个不同的QML文件需要彼此通信。

我使用一个在点击事件中发出的信号以及一个针对加载程序元素的连接。

  • 加载程序的来源有效
  • 信号已发送(我可以看到“排放”日志)
  • 相应的功能不响应信号。
  • 编译器不会给出错误提示

以下是“排放”部分:

// MyItem.qml
import QtQuick 2.0

Rectangle {
    id : myEmitter
    width : 100
    height : 100
    color : "red"
    signal message ()

    MouseArea {
        anchors.fill : parent
        onClicked:{
            myEmitter.message()
            console.log("emission")
        }

    }

}

这是“连接”部分:

//myOtherItem.qml
Window {
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")

        Item {
            id: container
            width: 320
            height: 120

            Loader {
            id : myLoader
            source: "MyItem.qml"
            }

             Connections {
                target: myLoader.item
                onMessage: console.log("message received ")

            }
        }

    }

为什么“ onCliked”插槽对信号没有反应?

0 个答案:

没有答案