0

我有QTableView一个QSqlRelationalTableModel作为模型的。本质上:

QSqlRelationalTableModel *theModel = ...;
QTableView *theView = ...;

theModel->setTable("table");
theView->setModel(theModel);
theModel->select();

但是,这似乎select()不会一次加载整个结果集。相反,它获取一部分,然后在我滚动到表格视图底部时获取更多。

通常这是我想要发生的事情,但是对于这个特定的应用程序,我想获取整个结果集(而不是一次获取一部分),以便视图立即填充完整集而无需任何滚动或需要其他交互。

有没有办法做到这一点?

也就是说,有没有办法让视图/模型立即获取完整的结果集?

我使用的是 Qt 5.15.2,目前使用的是 QSQLITE 驱动程序。

4

1 回答 1

1

这在文档中有正确描述:要强制获取整个结果集,您可以使用以下内容:

while (myModel->canFetchMore())
    myModel->fetchMore();
于 2022-01-26T18:46:07.813 回答