2

我在 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" }
     }
    }
}
4

1 回答 1

4

您的代码在语法上是错误的: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 }
    }
}

或者,您可以动态创建图像元素,但这更复杂。

于 2012-05-30T06:41:54.973 回答