且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将二维数组整数数据从 C++ 发送到 qml

更新时间:2022-11-27 10:37:45

我找到了解决方案!

首先,我创建了:

QList<int> getGridMap();

然后从二维数组创建一个列表:

and then created a list from a 2 dimentional array:

for (int i = 0; i < 9; i++) {
        for (int j = 0; j < 9; j++) {
            oChildList.append(gameGridArray[i][j]);
        }
    }

这些值可以很容易地传递给 QML.然后在qml中再次打开它:

This values can be easely passed to QML. and then just turned it again in qml:

var aRect = create2DArray(9);
var aString = handleGame.getGridMap();

aRect = listToArray(aString);

function listToArray(arr) {
    var arr2d = new create2DArray(9);

    for (var i = 0; i < 9; i++) {
        for (var j = 0; j < 9; j++) {
            arr2d[i][j] = arr[i*9+j];
        }
    }

    return arr2d;
}

function create2DArray(rows) {
  var arr = [];

  for (var i=0;i<rows;i++) {
     arr[i] = [];
  }

  return arr;
}