2

Row要素にプロパティcondを追加します。したがって、condがtrueの場合、3つの画像が描画されます。それ以外の場合は、1つだけが描画されます。

しかし、qmlは「予期しないトークン `if'」を報告します、何かアイデアはありますか?ありがとう

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 に答える