首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将项动态添加到模型中,然后在视图中显示模型

如何将项动态添加到模型中,然后在视图中显示模型
EN

Stack Overflow用户
提问于 2015-11-24 10:59:04
回答 1查看 61关注 0票数 0

我试图将动态实例化的QML组件添加到视图中,因为我需要将它添加到某个索引并在顶部显示。组件的创建是正确的,但是当它被添加到它不显示的模型中时,如何解决这个问题?下面是我的代码: main.qml:

代码语言:javascript
复制
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2



ApplicationWindow {
    title: qsTr("Hello World")
    width: 1920
    height: 1080
    visible: true

    Timer{
       interval: 700
       repeat: true
       running: true
       property int counter : -1;
       onTriggered: {
           counter++;
           var component;
           var sprite;
           var object;
           component = Qt.createComponent("Recta.qml");
//           sprite = component.createObject(project, {"x" : 100, "y" : -300, "name" : "Joshua" + counter});
           object = component.createObject({"name" : "*****" + counter})
           project.insert(0, object)

       }
    }
    ListModel{
        id: project
    }


    ListView{
        id: lview
        width: 310
        height: 1080

    }

}

recta.qml

代码语言:javascript
复制
import QtQuick 2.0

    Item{
        width: 300
        height: 300
        property string name;
        Rectangle{
            width: 300
            height: 300
            color: "teal"
            Text{
                anchors.centerIn: parent
                text: name
            }

        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-24 20:10:23

这是您的固定main.qml代码。

代码语言:javascript
复制
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2

ApplicationWindow {
    title: qsTr("Hello World")
    width: 1920
    height: 1080
    visible: true

    Timer{
       interval: 700
       repeat: true
       running: true
       property int counter : -1;
       onTriggered: {
           counter++;
           project.insert(0, {"name":"*****" + counter});
       }
    }

    ListModel{
        id: project
    }

    ListView{
        id: lview
        width: 310
        height: 1080

        model: project

        delegate: Recta {
            name: model.name
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33891815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档