Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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
Javascript 带有两个qml文件的信号/插槽。插槽将不执行_Javascript_C++_Qt_Qml - Fatal编程技术网

Javascript 带有两个qml文件的信号/插槽。插槽将不执行

Javascript 带有两个qml文件的信号/插槽。插槽将不执行,javascript,c++,qt,qml,Javascript,C++,Qt,Qml,我有两个qml文件。我会用一个qml文件的javascript和另一个qml文件的插槽连接一个信号,但它似乎不起作用。第二个文件中的插槽将不会执行 在这里,我将信号与插槽连接(在main.qml,GridLayout,onComplete中): var component=Qt.createComponent(“Field.qml”) 对于(var i=0;i很抱歉,我有点愚蠢。我发布的代码是正确的,运行良好。问题是,信号在连接到插槽之前发出 var component = Qt.cre

我有两个qml文件。我会用一个qml文件的javascript和另一个qml文件的插槽连接一个信号,但它似乎不起作用。第二个文件中的插槽将不会执行

在这里,我将信号与插槽连接(在main.qml,GridLayout,onComplete中):

var component=Qt.createComponent(“Field.qml”)

对于(var i=0;i很抱歉,我有点愚蠢。我发布的代码是正确的,运行良好。问题是,信号在连接到插槽之前发出

    var component = Qt.createComponent("Field.qml")
    for (var i=0; i<30; i++) {
        var object = component.createObject(mainGridLayout);
        object.boardX = i % 5;
        object.boardY = i / 5;
        object.board = gameboard;

        gameboard.fieldChanged.connect(object.fieldChange);  //<-- Connect
    }
    Gameboard {
        id: gameboard
        signal fieldChanged(int x, int y, int val) //<-- Signal defined here

        onBoardFieldChanged: {  //<-- Works fine from C++
            fieldChanged(x,y,value);
        }
    }
    function fieldChange(x, y, val){  //<-- Slot method
        if (boardX==x && boardY == y) caption.text = val;
    }