2016-05-21 14 views
0

私は以下のコードに問題を抱えている:何が起こることはcurrentIndexが変更されたときに新しい.qmlファイルがロードされる前に、最後の1がアニメーション化されていることであるQMLのListViewローダー不要な事前定義された行動

ListModel{ 
     id: listModelWelcome 
     ListElement{ 
      url: "firstTime1.qml" 
     } 
     ListElement{ 
      url: "firstTime2.qml" 
     } 
     ListElement{ 
      url: "firstTime3.qml" 
     } 
    } 

ListView{ 
    id: listViewWelcome 
    z: 1 
    currentIndex: 1 
    model: listModelWelcome 
    delegate: Component{ 
     Loader{ 
      source: url 
     } 
    } 
} 

上向きに。あらかじめ定義されたアニメーションを使わずに、すぐにロードしたいだけです。 この動作を無効にするにはどうすればよいですか?

ありがとうございます。

+0

[MCVE](http://stackoverflow.com/help/mcve)を投稿するので、我々は – folibis

+0

をテストするためにそれを実行することができますしてください掲示される。事前にお試しいただきありがとうございます。 –

答えて

0
import QtQuick 2.4 
import QtQuick.Window 2.2 

Window { 

    id: root 
    visible: true 
     ListModel{ 
     id: listModelWelcome 
     ListElement{ 
      url: "red.qml" 
     } 
     ListElement{ 
      url: "blue.qml" 
     } 
    } 

ListView{ 
    id: listViewWelcome 
    currentIndex: 0 
    model: listModelWelcome   //1 
    delegate: Component{ 
     Loader{ 
      id: loaderWelcome 
      active: isFirstTime 
      source: url    //listModelWelcome.get(listViewWelcome.currentIndex).url 

     } 
    } 
} 
} 

コメントされたコードではなく、現在の動作が正しく動作します。何も動かない。現在の方法では、red.qmlをクリックした後に上方向に移動します。

red.qml

import QtQuick 2.0 

Item { 
x:0 
y:0 
width: root.width 
height: root.height 
Rectangle{ 
    anchors.fill: parent 
    color: "red" 
    MouseArea{ 
     anchors.fill: parent 
     onClicked: { 
      listViewWelcome.currentIndex = 1 
     } 
    } 
} 
} 

blue.qml

import QtQuick 2.0 

Item { 
x:0 
y:0 
width: root.width 
height: root.height 
Rectangle{ 
    anchors.fill: parent 
    color: "blue" 
    MouseArea{ 
     anchors.fill: parent 
     onClicked: { 
      //listViewWelcome.currentIndex = 1 
     } 
    } 
} 
} 
関連する問題