如何在QTableView中滚动到Sqlite模型的最后一行?
发布时间:2020-12-12 18:57:27 所属栏目:百科 来源:网络整理
导读:我有一个连接到QTableView的几千行的Sqlite模型.我可以在QTableView中查看行,但是当我滚动到QTableView的底部时,我只能到达前几百行的末尾.如果我继续拉动滚动条按钮,新行会附加到视图中,但我无法轻松滚动到结尾.将所有行附加到视图后,我可以轻松地从上到下
我有一个连接到QTableView的几千行的Sqlite模型.我可以在QTableView中查看行,但是当我滚动到QTableView的底部时,我只能到达前几百行的末尾.如果我继续拉动滚动条按钮,新行会附加到视图中,但我无法轻松滚动到结尾.将所有行附加到视图后,我可以轻松地从上到下滚动而不会出现问题.
这是代码的重要部分(只是标准): self.db = QtSql.QSqlDatabase.addDatabase("QSQLITE") self.db.setDatabaseName(dbFileName) self.model = QtSql.QSqlTableModel(self.db) self.model.setTable("results") self.model.select() self.tableViewResults.setModel(self.model) 我必须错过一些非常简单的事情.有什么建议? 劳伦斯. 解决方法QSqlTableModel懒惰加载数据,即它会在要求时加载项目.如果需要显示项目,QTableView会询问项目.您观察到的延迟是QSqlTableModel从数据库中获取新数据的部分.还有an issue,如果SQL驱动程序没有报告查询大小,SQLite就是其中之一:
因此,在加载所有项目之前,模型实际上不知道将有多少项目. 为了消除延迟,您应该事先加载所有数据(如 self.db = QtSql.QSqlDatabase.addDatabase("QSQLITE") self.db.setDatabaseName(dbFileName) self.model = QtSql.QSqlTableModel(self.db) self.model.setTable("results") self.model.select() while self.model.canFetchMore(): self.model.fetchMore() self.tableViewResults.setModel(self.model) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- PostgreSQL基础3--SELECT语句基础
- c – 应该是std :: vector :: swap()与有状态的分配器无效所
- UIImage刷新swift3
- iphone – 如何获取应用程序购买中的所有标识符
- SQLite header and source version mismatch解决
- ruby-on-rails – Ruby on Rails验证错误
- ORACLE 常用函数总结(80个)第1/2页
- c – 使用Winsock的send()/ recv()时是否需要确认响应?
- VB数据库连接之四(控件连接)
- react-native – 我需要有关ReactNative App的多客户部署的