2013-04-01 2 views
0

내 n9 용 앱을 작성 중이며 데이터베이스에 문제가 있습니다. main.cpp 또는 다른 C++ 파일을 사용하지 않습니다. qml 내에서 javscript를 사용하여 데이터베이스에 데이터를 작성, 삭제 또는 추가합니다. 지금은 모든 항목이 포함 된 문자열을 출력하는 것입니다. 모든 것이 잘 작동합니다. 하지만 이제 데이터베이스의 항목을 ListView로 표시하려고합니다. 어떻게하면됩니까?데이터베이스에서 ListView에 QML 요소로드

답변

0

ListView에 대한 모델을 동적으로 만들 수 있습니다. 이와 같은 뭔가 :

import QtQuick 2.0 
import "main.js" as Main 

Rectangle { 
    id: root 

    ListView { 
     width: 180; height: 200 

     model: Main.createModel(root) 
     delegate: Text { 
      text: name + ": " + number 
     } 
    } 
}  

main.js

function createModel(parent) { 
    var s = 'import QtQuick 2.0; ListModel {\n'; 
    var data = ["a", "b"]; // your data from database will be here 
    for(var x in data) { 
     var s2 = "ListElement {name: \"" + x+ "\"; number: \"" + x + "\" }\n"; 
     s += s2; 
    } 

    s += "}\n"; 
    console.log(s); 
    return Qt.createQmlObject(s, parent, "mainModel"); 
} 
관련 문제