Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo mostrar el contenido de la base de datos sqlite en vista de tabla en QT?

¿Cómo mostrar el contenido de la base de datos sqlite en vista de tabla en QT?

Utilice tableview en el widget QT para mostrar el contenido de la tabla de la base de datos sqlite.

Supongamos que hay un archivo de base de datos test.db, una tabla (id entero, nombre nvarchar (20), edad entera) y varios datos.

Primero use QTcreator para crear una ventana basada en la clase Widget, luego arrastre una vista de tabla al widget, guárdela y luego proceda de la siguiente manera:

1. Archivos widget.h: QtSql/qsql.h, QtSql/QsqlDatabase, QtSql/QsqlQuery, QtSql/QsqlQueryModel

2 Agregar: QT+=sql

3. siguiente código para el constructor del widget en .cpp:

QsqDatabase db = QsqlDatabase::addDatabase("QSQLITE");

db.setDatabaseName("test.db"); p>

if(!db.open())

{

//Manejo de errores

}

QSqlQueryModel estático *model = new QSqlQueryModel(ui->tableview);

model->setQuery(QString("select * from table"));

model->setHeaderData(0, Qt ::Horizontal,QObject::tr("número"));

model->setHeaderData(1,Qt::Horizontal,QObject::tr("nombre"));

model->setHeaderData(2,Qt::Horizontal,QObject::tr("Edad"));

ui->tableview->setModel(modelo);

db->close();

Después de esto, el contenido de la tabla se mostrará en la vista de tabla.