根据滚动条手柄位置动态加载/填充数据



我的 PyQt 应用程序从第三方 API 调用中提取数据。 返回的数据集通常包含数百个项目。 有时,返回的数据集包含数万个项目。 在这些情况下,界面显示速度非常慢 - 太慢而无法使用。

为了加快速度,我想在初始加载期间加载更少的数据。 我希望能够根据滚动条手柄位置填充界面。 我希望滚动条在显示小部件后立即具有正确的范围,但是当用户滚动时,他们应该看到的数据会填充到小部件中(在本例中为 QTreeWidget)。也就是说,我宁愿用户不必滚动到小部件的底部即可在底部加载更多数据,从而更改滚动条的范围。

我相信 QSqlTable 的行为开箱即用,但由于我不依赖 sql 查询(并且因为某些列的数据是由 GUI 计算的),我不相信我可以使用该模块。 这可以通过QTreeWidget和没有直接SQL调用来实现吗?

Qt模型视图框架中有内置功能。在此处查看QAbstractItemModel.canFetchMore()QAbstractItemModel.fetchMore()

哦,我刚刚意识到你没有使用MVF,而是使用独立的QTreeWidget。如果您正在处理大型数据并需要此类功能,则切换到 MVF 可能是正确的做法。

最新更新