当关联模型获得数据时,QTableView不显示数据

Omi*_*gar 1 sqlite qt

我正在玩Qt(我是初学者),并尝试在QTableView中显示表的数据.到目前为止我有这个:

ui->setupUi(this);

QSqlDatabase db;
db=QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");

if (db.open())
    qDebug() << "success";
else
    qDebug() << "failed";
QSqlTableModel model;
model.setTable("names");
model.select();
qDebug() << model.rowCount();

ui->tableView->setModel(&model);
Run Code Online (Sandbox Code Playgroud)

问题是,模型确实获得了数据(2行),但QTableView现在显示它.

有什么线索在这里有什么不对吗?

Mat*_*hew 6

查看您的代码可能是您的model对象超出范围.进行这些改动,希望他们能够纠正您的问题.

ui->setupUi( this );

// Setup db
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");

if( db.open() )
    qDebug() << "success";
else
    qDebug() << "failed";

// Initialize your model with the database.
QSqlTableModel* model = new QSqlTableModel( this, db );

// Let the QTableView take ownership of the model.
ui->tableView->setModel( model );

// Add the rest of your code here.
model->setTable( "names" );
model->select();
qDebug() << model->rowCount();
Run Code Online (Sandbox Code Playgroud)