2013-04-01 4 views
0

J'écris une application pour mon n9 et j'ai un problème de base de données. Je n'utilise pas le fichier main.cpp ou un autre fichier C++ pour l'application. Je crée, supprime, ajoute des données etc à une base de données en utilisant javscript à partir du qml. En ce moment je suis en train de sortir une chaîne avec toutes les entrées. Tout fonctionne bien. Mais maintenant je veux montrer les entrées dans la base de données comme ListView. Comment puis-je faire cela?Chargement des éléments QML à ListView à partir de la base de données

Répondre

0

Vous pouvez créer un modèle pour votre ListView de façon dynamique. Quelque chose comme ceux-ci:

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 
     } 
    } 
}  

et 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"); 
} 
Questions connexes