2013-04-01 73 views
0

我在爲我的n9編寫一個應用程序,並且遇到數據庫問題。我沒有爲應用程序使用main.cpp或其他C++文件。我使用qml中的javscript創建,刪除,添加等數據到數據庫。現在,我只是簡單地輸出一個包含所有條目的字符串。一切正常。但是現在我想將數據庫中的條目顯示爲ListView。 我該怎麼做?將QML元素從數據庫加載到ListView中

回答

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"); 
} 
相關問題