2013-07-21 5 views
0

매우 간단한 목록 모델을 포함하는 QListView을 사용하고 있습니다. 일부 웹 페이지에서 볼 수있는 "무한 스크롤"과 비슷한 것을 구현하고 싶습니다.QListView의 아래쪽/끝 부분을 결정하는 방법은 무엇입니까?

현재 모델은 최대 100 개 항목 (통화 당 최대 100 개 항목을 차지하는 외부 웹 API에서 가져온 것임)을 추가하는 방법으로 업데이트됩니다. 내 목표 : 사용자가 목록보기의 마지막 요소로 이동하면 (내 경우에는 아래로 스크롤하여) 최대 100 개 이상의 항목을 가져 오는 등의 호출을 시작합니다.

이 예에서는 간단히하기 :
  1. 바닥
  2. 100 개
  3. 다른 항목보기 (사용자) 아래로 스크롤 (100 개) 항목
  4. 과 목록을 채우는 페치.

QListView에는 내가 볼 수있는 시점이 언제인지 알려주는 것이 있습니까?

답변

3

QListViewQAbstractScrollArea의 서브 클래스, 그래서 세로 스크롤 막대의 위치가 극단 중 하나에 있는지 알아내는 방법은 하나입니다 :

  1. verticalScrollBar()를 호출하여 QListView에서 사용하는 QScrollBar 객체를 가져옵니다.
  2. 스크롤 막대의 sliderMoved(int value) 신호를 원하는 슬롯에 연결하십시오.
  3. 슬롯에서 스크롤 막대의 최소/최대 값을 가져 와서 신호에서 지정된 값과 비교합니다.
+0

감사합니다. – Einar

+0

''sliderMoved''보다는''valueChanged''를 사용했기 때문에 키 누르기로 움직임을 추적 할 수는 있지만 그럼에도 불구하고 작동합니다. 감사! – Einar