2011-01-28 5 views
4

저는 Nokia Qt SDK를 사용하고 있으며 상단 영역에 작은 배너 회전식 컨베이어를 설계했습니다. 그것은 다음과 같습니다QScrollArea - 터치 상호 작용을 사용하여 다음 항목으로 스크롤하는 방법은 무엇입니까?

UI hierarchy

에뮬레이터에서이를 설치 한 후, 나는 그것이 스크롤 (마리) 만들려고 :

UI demo

계층 구조는 같다. 그것은 내가 추측 할 수있는 간단한 작업 (Android의 ScrollView 또는 iOS의 UIScrollView)이지만 지금까지 아무런 기쁨도 없습니다. 인터넷에있는 모든 링크는 커스텀 스크롤 구현 등을 가리킨다. Qt는 더 높은 수준의 프레임 워크 여야한다. 여기 예술의 상태는 무엇입니까? ;-)

간단히 질문 :이 QScrollArea가 (플링, 스크롤, 드래그 등) 이벤트를 터치하고 대기열에있는 다른 위젯을 공개하도록하려면 어떻게해야합니까? 자식 위젯에 스냅 할 수있을 것으로 기대하지 않습니다. (나중에 또 다른 요구 사항입니다.)). Thx.

+0

이제 QFingerScrollArea를 찾았습니다. http://www.youtube.com/watch?v=OPQ1VlyMPYU –

+0

QScrollArea는 (적어도 새로운 qts 이상에서는) 터치 상호 작용을 직접 지원합니다. 비록 내가 알아 내지 못했지만 어떤 경우에 (프로젝트에서 QAbstractScrollArea를 기반으로하는 두 개의 컨트롤이 있습니다. 하나는 컨트롤을 터치하고 다른 컨트롤은 터치하지 않습니다). 대답이 업데이트되면 좋을까요 – BeniBela

답변

3

Flickable (http://blog.qt.io/blog/2009/07/19/kinetic-scrolling-on-any-widgets/)과 FlickCharm (첫 번째 주소에서 링크 됨)을 살펴보고 직접 구현하거나 그대로 사용하는 방법에 대한 아이디어를 얻으십시오.

대상이 Maemo 인 경우 Qt 포트에서 처리하므로 필요하지 않을 수도 있습니다.

+0

http://labs.qt.nokia.com/2009/07/19/kinetic-scrolling-on-any-widgets/ dead link – sancelot

+0

이것이 새로운 링크라고 생각합니다 : http://blog.qt.io/ 블로그/2009/07/19/kinetic-scroll-on-any-widgets/ – frozenkoi

+0

@frozenkoi 올바른 링크를 추가하기 위해 질문을 편집하지 않으시겠습니까? – Fritz

0

제스처 사용을 시도 했습니까? 아직 제스처 지원을 사용하지 않은,하지만 그건 것 같습니다 쉽게

scrollEvents->grabGesture(Qt::SwipeGesture); 
// or... 
scrollEvents->grabGesture(Qt::PanGesture); 

QScrollArea 이미 작동하지 않는, 그래서 만약 당신이있는 용도로해야 할 수도 제스처를 처리하는 경우 나도 몰라 Gestures Programming Guide에 설명 된대로 QScrollArea 클래스를 열고 event 메서드를 재정 의하여 제스처 이벤트를 처리합니다.

+0

Qt 4.7입니까? Nokia Qt SDK 다운로드로 인해 Qt 4.6을 사용해야합니까? 최소한 다운로드 옵션 없음 4.7. (SDK 설치 프로그램이 고장났습니다. 웹 사이트 다운로드는 번들로 제공됩니다 4.6). –

+0

좋아, 나도 그것을 볼 수 있으며, 4.6 문서에서 사용할 수 있습니다, 그것을 시도, thx 줄 것이다! –

+0

그래, 시도 - 그리고 아무 기쁨. 전체 이야기는 복잡해 보입니다. 어떤 사람들은 커스텀 터치/플링 (Touch/Fling) 응답자를 구현 했으므로 나는 꽤 충격을 받았습니다. 좀 더 완성 된 솔루션을 찾고 싶었습니다. –

관련 문제