我遇到以下代码的问题:
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
}
}
}
当更改currentIndex时,在加载新的.qml文件之前,最后一个是向上动画的。我只想在没有预定义动画的情况下立即加载它。 有人建议如何禁用此行为?
谢谢。
答案 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
}
}
}
}