Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何在Stackview QML中侦听来自initalItem的信号_Qt_Qml_Qt5 - Fatal编程技术网

Qt 如何在Stackview QML中侦听来自initalItem的信号

Qt 如何在Stackview QML中侦听来自initalItem的信号,qt,qml,qt5,Qt,Qml,Qt5,我想听听QMLStackView中的initialItem发出的信号。而且我对如何做的想法似乎是错误的 StackView { id: stackView initialItem:{ myHomeForm{ onMySignal{ myArray=signalArray } } } anchors.fill: parent }

我想听听QML
StackView
中的
initialItem
发出的信号。而且我对如何做的想法似乎是错误的

StackView {
    id: stackView
    initialItem:{
            myHomeForm{
               onMySignal{
                myArray=signalArray
               }
            }
    }
    anchors.fill: parent
}
文档只说明了如何设置属性,但没有说明如何监听信号
非常感谢您的帮助

您可以在
组件中建立连接。通过以下方式完成连接


给未来的读者。如果信号有附加数据,函数将这样写
函数onMySignal(data){console.log(“onMySignal”+data)}
先生,我可以跟进一个问题吗?如果对象来自
stackview.push()
,您会怎么做??我现在理解了语法,但是我怎么知道推送的组件已经完成,这样我就可以在之后连接它呢?
import QtQuick 2.9
import QtQuick.Controls 2.2

ApplicationWindow {
    id: window
    visible: true
    width: 640
    height: 480
    title: qsTr("Stack")

    StackView {
        id: stackView
        initialItem: Page {
            id: page
            anchors.fill: parent
            signal mySignal()
            Button {
                text: qsTr("Click me")
                anchors.centerIn: parent
                onClicked: page.mySignal()
            }
        }
        anchors.fill: parent
        Component.onCompleted: initialItem.mySignal.connect(onMySignal)
        function onMySignal(){
            console.log("onMySignal")
        }
    }
}