gpt4 book ai didi

gridview - QtQuick GridView 元素动画

转载 作者:行者123 更新时间:2023-12-04 14:42:38 26 4
gpt4 key购买 nike

当调整 GridView 的大小时,它的元素被重新排列,该元素的动画似乎不起作用。

在这里你可以找到一个简单的例子:http://pastebin.com/BgST6sCv
如果单击示例中的其中一个方 block ,则会正确触发动画。但是,如果您调整窗口大小以使 GridView 必须重新排列它的元素,则不会触发动画。

有办法解决吗?可能没有任何 C++?

编辑:
我目前使用的是 Qt SDK 1.1,其中包含 Qt 4.7.3

最佳答案

这段代码可以做到。基本上,您需要创建一个虚拟委托(delegate)项,然后在其中创建另一个具有相同宽度、高度、x 和 y 值的项。将内部项目的父级设置为您的 GridView 。这是您的代码修改后的动画效果。

import QtQuick 1.0

Rectangle {
id: mainRect
width: 300; height: 400

ListModel {
id: appModel
ListElement { modelcolor: "#FF0000"}
ListElement { modelcolor: "#00FF00"}
ListElement { modelcolor: "#0000FF"}
}

Component {
id: appDelegate

Item {
id: main
width: grid.cellWidth; height: grid.cellHeight
Rectangle {
id: item; parent: grid
x: main.x; y: main.y
width: main.width; height: main.height;
color: modelcolor
Behavior on x { NumberAnimation { duration: 400; easing.type: Easing.OutBack } }
Behavior on y { NumberAnimation { duration: 400; easing.type: Easing.OutBack } }
}
}
}

GridView {
id: grid
anchors.fill: parent
model: appModel
delegate: appDelegate
interactive: false
MouseArea {
anchors.fill: parent
onClicked: {
appModel.insert(1, { "modelcolor": "yellow" } )
}
}

}
}

关于gridview - QtQuick GridView 元素动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5613715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com