我正在使用QListView包裹一个非常简单的列表模型。我想尝试实现类似于某些网页中出现的“无限滚动”的功能。

当前,该模型通过一种方法进行更新,该方法最多添加100个项目(它们来自外部Web API,每个调用最多包含100个项目)。我的目标是:当用户移至列表视图的最后一个元素时(对于我而言,是通过向下滚动),我想发起呼叫以获取多达100个以上的项目,依此类推。

为了简化本示例:


用100项填充列表
视图(按用户)向下滚动到底部
其他100件物品。


QListView中是否有任何内容可以告诉我何时处于可见视图的尽头?

最佳答案

QListViewQAbstractScrollArea的子类,因此找出垂直滚动条的位置是否处于极端状态的一种方法是:


通过调用QScrollBar获取QListView使用的verticalScrollBar()对象。
将滚动条的sliderMoved(int value)信号连接到您选择的插槽。
在插槽中,获取滚动条的最小值/最大值,并将其与信号中给出的值进行比较。

关于c++ - 如何确定何时在QListView的底部/底部?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17775907/

10-09 13:11