qt - 将项目动态添加到 StackLayout
问题描述
我在名为 NetworkSheet 的文件中创建了一个项目。我的另一个 QML 文件 (A.qml) 包含一个 StackLayout (id tabStack),我想将 NetworkSheet 添加到堆栈的后面。
由于几个不完整的例子,我正在兜圈子。有人可以建议如何做到这一点吗?我得到的最接近的是:
var stackItem = Qt.createQmlObject('import "../tabs"; NetworkSheet{}', tabStack);
tabStack.children.push(stackItem);
但是 tabStack 的孩子没有推送方法。
解决方案
无需将新创建的 Item 附加/插入到 StackLayout 上。通过在创建期间指定父级(作为 StackLayout),它会自动附加到末尾。所以只需要这一行:
var stackItem = Qt.createQmlObject('import "../tabs"; NetworkSheet{}', tabStack);
推荐阅读
- javascript - 如何更改表格单元格的颜色
- visual-studio-code - VSCode 终端建议未自动完成
- java - 如何在 Java 中写入命令提示符?
- kubernetes - 如果工作节点死亡,kubernetes 是否会恢复工作节点?
- scala - 实例化具有指定名称的类
- javascript - 如何使用 Quasar 构建微前端?
- wix - VS2019 中的 WiX 项目“不兼容”
- python - 如何使用一些条件(正则表达式?)修改熊猫中的一列字符串
- apache-spark - 预处理数据的最佳方法
- vb.net - VB.Net 表单身份验证 - Roles.CreateRole()