Как определить, когда на дне / конце QListView?

Я использую QListView который оборачивает очень простую модель списка. Я хотел бы попробовать реализовать нечто похожее на «бесконечный свиток», который можно увидеть на некоторых веб-страницах.

В настоящее время модель обновляется с помощью метода, который добавляет не более 100 элементов (они взяты из внешнего веб-API, который принимает не более 100 элементов за вызов). Моя цель: когда пользователь переходит к последнему элементу представления списка (в моем случае, прокручивая вниз), я хотел бы начать вызов, чтобы получить до 100 дополнительных элементов и так далее.

Чтобы упростить в этом примере:

  1. Заполните список 100 пунктами
  2. Вид прокручивается вниз (пользователем) вниз
  3. Другие 100 предметов выбраны.

Есть ли что-нибудь в QListView что говорит мне, когда я в конце видимого представления?

0

Решение

QListView это подкласс QAbstractScrollAreaТаким образом, один из способов выяснить, находится ли вертикальная полоса прокрутки на одном из своих крайних значений, состоит в следующем:

  1. Получить QScrollBar объект используется QListView позвонив verticalScrollBar(),
  2. Подключите sliderMoved(int value) сигнал полосы прокрутки на слот по вашему выбору.
  3. В слоте выберите минимальное / максимальное значения полосы прокрутки и сравните их со значением, указанным в сигнале.
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]