gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 14:08:25 25 4
gpt4 key购买 nike

我一直在搜索一整天,但这个问题让我很困扰。

我正在创建一个游戏(类似于“Lines”)并试图保存网格状态(0 - 如果清除,> 0 - 如果存储了一些球)。我在类有一个空位:

int Game::getGridMap() {
return gameGridArray[9][9];
}

然后:

onPressed: {
buttonStart.color = "#222333"

handleGame.initGame();
var aRect = handleGame.getGridMap();
}

但它返回“未定义”或类似的东西。

我做错了什么?这是存储这些数据的更好方法吗?

最佳答案

我找到了解决方案!

首先,我创建了:

QList<int> getGridMap();

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

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

这个值可以很容易地传递给 QML。然后在 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;
}

关于c++ - 将二维数组整数数据从 C++ 发送到 qml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com