QML ListView Loader 不需要的预定义行为
Posted
技术标签:
【中文标题】QML ListView Loader 不需要的预定义行为【英文标题】:QML ListView Loader unwanted predefined behaviour 【发布时间】:2016-09-18 18:06:06 【问题描述】:下面的代码有问题:
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 文件之前,最后一个动画向上。我只想立即加载它,而不需要预定义的动画。 任何建议如何禁用此行为?
谢谢。
【问题讨论】:
请发mcve,以便我们运行它进行测试 已发布。感谢您提前进行测试。 【参考方案1】: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
【讨论】:
以上是关于QML ListView Loader 不需要的预定义行为的主要内容,如果未能解决你的问题,请参考以下文章