0

QMLでフリップ可能な時計を作ろうとしています。しかし、必要に応じて反転可能な効果を得ることができません.flipメソッドのドキュメントを参照し、それをさらなる開発のベースとしました。

さまざまなアプローチを試みましたが、成功しませんでした。その効果を得る方法についてのアイデア。

以下は、参照されているドキュメントのコード スニペットです。

import QtQuick 1.0

 Flipable {
     id: flipable
     width: 240
     height: 240

     property bool flipped: false

     front: Image { source: "front.png"; anchors.centerIn: parent }
     back: Image { source: "back.png"; anchors.centerIn: parent }

     transform: Rotation {
         id: rotation
         origin.x: flipable.width/2
         origin.y: flipable.height/2
         axis.x: 1; axis.y: 0; axis.z: 0     // set axis.x to 1 to rotate around y-axis
         angle: 0    // the default angle
     }

     states: State {
         name: "back"
         PropertyChanges { target: rotation; angle: 180 }
         when: flipable.flipped
     }

     transitions: Transition {
         NumberAnimation { target: rotation; property: "angle"; duration: 4000 }
     }

     MouseArea {
         anchors.fill: parent
         onClicked: flipable.flipped = !flipable.flipped
     }
 }
4

1 に答える 1

1

アイテムの半分だけを裏返すことはできません。フリップ クロックをシミュレートするには、イメージの 2 つのクローンを使用する必要があります。

上記のコードの最後にこれを追加してみてください:

Item {
  anchors {top: flipable.top; horizontalCenter: flipable.horizontalCenter}
  width: flipable.width
  height: flipable.height / 2
  z: flipable.z + 1

  clip: true

  Image {
    source: "front.png";
    anchors.centerIn: parent
  }
}

明らかに、このコードは解決策ではありません。完全な解決策のために何をしなければならないかについてのヒントにすぎません。

于 2012-11-07T11:46:28.233 に答える