如何交换 qml 网格中的元素?
我尝试过:
var child = grid.children[slot1];
grid.children[slot1] = grid.children[slot2];
grid.children[slot2] = child;
但没有成功。
当将元素重新设置为网格的父级(element.parent = grid)时,它会被有效地添加,但无法对它们进行排序。
我应该使用自己的 QML 小部件吗?
I tried :
var child = grid.children[slot1];
grid.children[slot1] = grid.children[slot2];
grid.children[slot2] = child;
But it didn't work.
When reparenting an element to the grid (element.parent = grid), it's effectively added, but there's no way to order them.
Should i use my own QML widget?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ListModel 提供移动元素功能,您可以将其与 GridView(不仅仅是网格)结合使用。
如果您想在委托中添加动画,则在交换时:
请注意您必须通过重新设置父级来使用的技巧...
该死的 QML!
ListModel provides moving elements functionality, and you can use it in conjunction with a GridView (not just a grid).
And if you want to add animations in the delegate, when swapping:
Notice the trick you have to use by reparenting...
Damn QML!