I created a SQLite database called "test.db". It has only one table called "table1" which is not an empty table. I tried to display "table1" in QTableView widget but the widget displayed nothing. The database was connected and Qt Createor didn't detect any error. I don't understand why QTableView displayed nothing at all.
My Code:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtCore>
#include <QSqlDatabase>
#include <QSqlTableModel>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QSqlDatabase test = QSqlDatabase::addDatabase("QSQLITE");
test.setDatabaseName("test.db");
if (test.open())
{
ui->DB_Status->setText("DB is connected.");
}
else
{
ui->DB_Status->setText("DB is not connected.");
}
QSqlTableModel *model = new QSqlTableModel(this,test);
model->setTable("table1");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
model->setHeaderData(0, Qt::Horizontal, tr("Row1"));
model->setHeaderData(1, Qt::Horizontal, tr("Row2"));
ui->tableView->setModel(model);
ui->tableView->show();
}
I can run the program but QTableView widget diaplay nothing. Where is the problem ?