Quantcast
Channel: Qt DevNet forums: Qt Quick 1283365070**
Viewing all articles
Browse latest Browse all 4972

ListModel javascript functor storage

$
0
0
I am still quite new to qt/qml and javascript so this might be newbie question. I have a situation where I have an application that has data stored in a ListModel, when the ListView that owns the model updates an item in the model I want to call a functor that will update the value in a couple places, but every time I try to run the functor stored in the model I get a type error. qrc:///main.qml:50: TypeError: Type error qrc:///main.qml:50: TypeError: Type error qrc:///main.qml:50: TypeError: Type error Here is a demo of the issue. I created it using default Qt Quick application in Qt Creator. I am using Qt 5.3.1. import QtQuick 2.2 import QtQuick.Window 2.1   Window {     visible: true     width: 360     height: 360       property int value1: 5     property int value2: 6     property int value3: 7       Component.onCompleted: {         function Func(n) {             return function(i) {                 value1 = i;                 return "This is cell: " + i + " and is associated to property that had value: " + n;             }         };           view.model.append( { func : new Func(value1) } );         view.model.append( { func : new Func(value2) } );         view.model.append( { func : new Func(value3) } );     }       MouseArea {         anchors.fill: parent         onClicked: {             Qt.quit();         }     }       ListView {         id: view         anchors.fill: parent           model: ListModel {}         delegate: Component {               Rectangle {                 width: view.width                 height: 25                 color: "red"                 border.color: "black"                   Text {                     id: test                     text: {                         var test = model.func;                         test(index);                     }                 }             }         }     } } There might be better ways to do this, but I would still like to know what I am doing wrong. Thanks

Viewing all articles
Browse latest Browse all 4972

Trending Articles