У меня есть два qml-файла. Я бы подключил сигнал с javascript одного qml-файла с слотом другого qml-файла, но, похоже, он не работает. Слот во втором файле не будет выполнен.SIGNAL/SLOT с двумя qml-файлами. SLOT не будет выполняться
Здесь я подключить сигнал с пазом (в main.qml, GridLayout, OnComplete):
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
}
Здесь я определил сигнал (в main.qml):
Gameboard {
id: gameboard
signal fieldChanged(int x, int y, int val) //<-- Signal defined here
onBoardFieldChanged: { //<-- Works fine from C++
fieldChanged(x,y,value);
}
}
Здесь я определил слот (в Field.qml):
function fieldChange(x, y, val){ //<-- Slot method
if (boardX==x && boardY == y) caption.text = val;
}
В консоли нет ошибок, но слот не выполнялся. Что я сделал не так? Спасибо за помощь.