我正在尝试从QML中检索数据库中的数据。下面的代码在Qt5中有效但我无法从QML访问数据。我得到了:" unifined"。有人可以帮帮我吗?
db.cpp
dataB = QSqlDatabase::addDatabase("QPSQL");
dataB.setHostName("192...");
dataB.setDatabaseName("database");
dataB.setPort(123);
dataB.setUserName("user1");
dataB.setPassword("user1");
this->model = new QSqlQueryModel();
model->setQuery("SELECT status FROM telephone");
ui->tableView->setModel(model);//result is in the first image
QQuickView *view = new QQuickView();
QQmlContext *context = view->rootContext();
context->setContextProperty("mySQLmodel", model);
view->setSource(QUrl("main.qml"));
view->show();
main.qml
Rectangle {
width: 300
height: 300
ListView {
id: someListView
anchors
{
fill: parent
}
model: mySQLmodel
delegate: Label {
text:{ "1 " + mySQLmodel.status}
}
}}
答案 0 :(得分:0)
您应该尝试使用可以从qml访问的属性创建自己的c ++模型。然后,您可以从数据库中填充模型。 为您的模型看一下这个http://qt-project.org/doc/qt-4.8/qdeclarativemodels.html。