我正在为我的 n9 编写一个应用程序并且有一个数据库问题。我没有为应用程序使用 main.cpp 或其他 c++ 文件。我在 qml 中使用 javscript 创建、删除、添加等数据到数据库。现在我只是简单地输出一个包含所有条目的字符串。一切正常。但现在我想将数据库中的条目显示为 ListView。我怎样才能做到这一点?
问问题
899 次
1 回答
1
您可以为 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");
}
于 2013-04-01T14:59:04.477 回答