首页 > 解决方案 > 将项目动态添加到 StackLayout

问题描述

我在名为 NetworkSheet 的文件中创建了一个项目。我的另一个 QML 文件 (A.qml) 包含一个 StackLayout (id tabStack),我想将 NetworkSheet 添加到堆栈的后面。

由于几个不完整的例子,我正在兜圈子。有人可以建议如何做到这一点吗?我得到的最接近的是:

var stackItem = Qt.createQmlObject('import "../tabs"; NetworkSheet{}', tabStack);
tabStack.children.push(stackItem);

但是 tabStack 的孩子没有推送方法。

标签: qtdynamicqmlstacklayout

解决方案


无需将新创建的 Item 附加/插入到 StackLayout 上。通过在创建期间指定父级(作为 StackLayout),它会自动附加到末尾。所以只需要这一行:

var stackItem = Qt.createQmlObject('import "../tabs"; NetworkSheet{}', tabStack);

推荐阅读