QtQuick、QML - 如何将一个项目的子项目复制到另一个项目?
使用 QML,我想将一个项目的子项复制到另一个项目。这是我尝试过的:
Item
{
id: itemOne;
Component.onCompleted: { children.push(itemTwo.children[0]); }
}
Row
{ // has many children
id: itemTwo;
Image {}
Image {}
Image {}
}
我收到如下错误: TypeError: 表达式 'children.push' [undefined] 的结果不是函数。那么我该如何复制孩子呢?我很感激任何建议
- 棘手
Using QML, I'd like to copy one Item's child to another. Here's what I tried:
Item
{
id: itemOne;
Component.onCompleted: { children.push(itemTwo.children[0]); }
}
Row
{ // has many children
id: itemTwo;
Image {}
Image {}
Image {}
}
I get an error like: TypeError: Result of expression 'children.push' [undefined] is not a function. So how do I copy children over then? I'd appreciate any advice
-tricky
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
无法复制项目,因为它不能有多个父项。
不要复制,而是尝试动态创建新的子项,如此处中所述,并且传递“itemTwo”作为新子项的父项的 id。
An item cannot be copied because it cannot have multiple parents.
Instead of copying, try creating the new child dynamically, as described in here, and pass 'itemTwo' as the id for the parent of the new child.