Sqlite + QML no visualizo ningún dato.

31 views
Skip to first unread message

Johan Vallejo

unread,
Oct 14, 2013, 1:50:43 AM10/14/13
to qt-es...@googlegroups.com
Estimados
Les cuento mi problema, estoy haciendo algunas pruebas con QML y necesito mostrar información de una BD sqlite. En este ejemplo tengo una simple conexión a la BD, luego consulta una tabla que me devuelve solo un campo y este lo envió a QML para que lo reciba un ListView pero este no muestra nada.... aparentemente no esta llegando los datos consultados por el QSqlQueryModel y QQmlContext

alguna idea?


o si pueden enviar el link de algún ejemplo parecido a este y tener una referencia, estaré agradecido.


main.cpp
=======================================================================
int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QtQuick2ApplicationViewer viewer;

     viewer.rootContext()->setContextProperty("QtQuick2ApplicationViewer", &viewer);
 
           QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
      db.setDatabaseName("d:\sqlite\mibase.db");

      if(!db.open())
      {
          //qDebug() << db.lastError();
          qFatal("No conectado!");
      }

      else

         qDebug("Conectado.");
      

      QSqlQueryModel *someSqlModel = new QSqlQueryModel();
      someSqlModel->setQuery("select nombre from alumno");

      QQmlContext *context = viewer.rootContext();
      context->setContextProperty("datamodel", someSqlModel);
 
      viewer.setMainQmlFile(QStringLiteral("qml/prueba2/main.qml"));
      viewer.showFullScreen();
      viewer.showExpanded();
      viewer.show();

      return app.exec();
}



main.qml
=====================================0
Rectangle {
    id: window
    width: 600
    height: 468

    ListView {
        width: 200; height: 200
        model: datamodel
        delegate: Row {
            Rectangle {
                width: 100; height: 40
                Text {
                    anchors.fill: parent
                    text: display
                }
            }
        }
    }
}




Saludos,
Johan
Reply all
Reply to author
Forward
0 new messages