如果qml行元素内部失败则使用

时间:2012-05-30 01:17:49

标签: qml

我在Row元素中添加了一个属性cond,所以当cond为true时,它将绘制3张图片,否则只会绘制一张图片

但是qml报告“意外的令牌`如果'”,有什么想法吗?感谢

import QtQuick 1.1

Rectangle{
id:rect
    property bool cond:true;
    Row{
     Image{ source:"good.png" }
     if(cond) {
         Image{ source:"good.png" }
         Image{ source:"good.png" }
     }
    }
}

1 个答案:

答案 0 :(得分:4)

您的代码错误syntactically:QML结构描述语句无法用javascript代码包装。

但解决方案很简单:

import QtQuick 1.1

Rectangle {
    id:rect
    property bool cond: true;
    Row{
        Image{ source:"good1.png" }

        // show image elements only if 'cond' is true
        Image{ source:"good2.png"; visible: cond }
        Image{ source:"good3.png"; visible: cond }
    }
}

或者你可以创建图像元素dynamically,但这更复杂。