qt - 如何在qml之间传递对象

标签 qt object model qml listmodel

我想将一个对象从一个 qml 传递到另一个 qml。 我有一个列表模型。

ListModel {
       id:favouriteapp
           ListElement {
               id: 1
               name:"ABSC"
               title:"5:03pm"
               description:"heloo-1"
               icon1:"images/climate_icon.png"
               icon2:"images/climate_icon.png"
               pinStatus : false
               isLoaded: false

           }
           ListElement {
               id: 2
               name:"GHTT"
               title:"Home at 5:23pm"
               description:"via Gaydon Road-2"
               icon1:"images/navigation_icon.png"
               icon2:"images/navigation_icon.png"
               pinStatus : false
               isLoaded: false

           }
}

现在我想通过字符串值将 ListElement 的每个属性传递给其他 qml。

如何将整个 ListElement 对象传递给其他 qml。

最佳答案

正如@folibis所说,你需要为你的对象提供正确的ID

ListElement {
    id: obj1
    ...
}

这里是 MyFile.qml,您可以将对 ListElement 对象的引用传递给它:

Item{
    ...
    function myFunction(listElementObject){
        //whatever you need to do with your object
    }
}

在与 ListModel 相同的 QML 文件中,您将拥有

MyFile{
    id: myFileId
}

Component.onCompleted: myFileId.myFunction(obj1)

关于qt - 如何在qml之间传递对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40253919/

相关文章:

java - 这条java行是做什么的

c++ - 如何在 Qt 中以编程方式调整拆分器小部件的大小?

javascript - Object.keys 执行时间

JAVA:如何在二进制文件中正确存储对象?不覆盖

javascript - 如何在 1 个表格中包含 2 个模型?

java - GSON 的奇怪行为

c++ - 是否有一种跨平台的方式来获取正在运行的应用程序列表?

c++ - qt5从mysql数据库中选择数据

c++ - 如何用QToolButton正确管理文本和图标?

.net - 基于 .Net 的建模应用程序的速度改进