首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从QtScript操作2d数组

从QtScript操作2d数组
EN

Stack Overflow用户
提问于 2015-05-07 07:55:40
回答 1查看 152关注 0票数 0

我想要一种能够从QtScript访问主应用程序中创建的整数数组的方法,并且在做完脚本可能执行的任何操作之后,再次返回它。

到目前为止,我能够工作的是单个值(例如整数或布尔值),而且我还没有看到关于我所描述的内容的示例。

有没有办法做到这一点,或者我将不得不逐个读取数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-07 08:28:21

您可以尝试在QObject类中封装2d数组,如下所示:http://doc.qt.io/qt-5/qtscript-index.html并添加一些方法来处理它。

类似的东西(没有测试代码,所以可能包含一些错误,而且非常原始)。

代码语言:javascript
复制
class MyArray: public QObject {
    int** m_array;
    public:
    Q_OBJECT
    MyArray(signed int x, signed int y) {
        m_array = new MyArray[x][y];
    }
    ~MyArray() { delete m_array; }

    Q_INVOKABLE int at(signed int x, signed int y) {
        if (m_array) return m_array[x][y];
    }
    ...
}

而不是将其分配给QtScript属性:

代码语言:javascript
复制
MyArray *array2d = new MyArray(10, 5);
QScriptValue arrayValue = engine.newQObject(array2d);
engine.globalObject().setProperty("array2d", arrayValue);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30095050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档