如何将值推送到 QML 属性变量二维数组 - 动态? [英] How to push values to QML property variant two dimensional array - dynamically?

查看:13
本文介绍了如何将值推送到 QML 属性变量二维数组 - 动态?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我尝试过的:

import QtQuick 2.0

Rectangle
{
    property variant twoDimTempArray: [[]]
    property variant oneDArray: [1,2,3]

    MouseArea
    {
        anchors.fill: parent
        onClicked:
        {
            twoDimTempArray.push (oneDArray)

            twoDimTempArray[0].push (oneDArray)

            twoDimTempArray[0][0] = oneDArray[0]

            console.log (twoDimTempArray)
        }
    }
}

它们都导致 [].

如何在 QML 属性变量二维数组中推送值?

推荐答案

将值动态添加到一维 QML variant 的一种方法是填充一个普通的 Javascript 数组,然后将其分配给QML 变体.

One way to add the values dynamically to a 1 dimensional QML variant is to fill a normal Javascript array and then assign it to the QML variant.

import QtQuick 2.0

Rectangle
{
    property variant oneDArray: []
    MouseArea
    {
        anchors.fill: parent
        onClicked:
        {
            var t = new Array (0)
            t.push(11)
            t.push(12)

            oneDArray = t

            console.log (oneDArray)
        }
    }
}

输出:

Starting /home/.../documents/test/build-junk-Desktop_Qt_5_1_0_GCC_64bit-Debug/junk...
QML debugging is enabled. Only use this in a safe environment.
[11,12]
/home/.../documents/test/build-junk-Desktop_Qt_5_1_0_GCC_64bit-Debug/junk exited with code 0

我对二维数组尝试了相同的方法,它可以工作.

I have tried the same method for a 2 dimensional array and it works.

这篇关于如何将值推送到 QML 属性变量二维数组 - 动态?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆