2014-10-24 8 views
2

QtQuick으로 기계식 카운터의 모양을 복제하려고합니다. (아래 그림 http://en.wikipedia.org/wiki/Counter#Mechanical_counters 내지) 카운터 값은 부동 소수점 숫자 및 8.5 (8)의 저부 및 각각의 바퀴를 들어 9QtQuick/QML로 기계식 카운터 모양 만들기

Mechanical counters

의 상부를 나타내는 카운터 휠을 표시 할 수 I 그래픽 스트립의 발췌 부분을 표시하는 것을 고려했습니다. 다음 그래픽은이를 설명 할 것입니다. 내 QML 구성 요소는 파란색 직사각형에 숫자를 표시해야하며 나머지는 아래 이미지에 흐리게 표시되어서는 안됩니다.

enter image description here

내 질문은 카운터 디스플레이를보기를 구성하고 업데이트하는 가장 좋은 방법이 될 것입니다 무엇인가?

  • 각 숫자에 대해 Canvas 요소를 작은 것으로하고 그래픽 스트립의 발췌 부분을 그립니다.
  • 전체 그래픽 스트립을 자식으로 사용하여 작은 Flickable을 사용하고 그래픽 스트립을 패닝 하시겠습니까? 그러나 사용자가 카운터 뷰를 변경할 수 없도록하려는 경우, 뷰를 이동하기 위해 마우스 또는 터치 이벤트를 받아들이지 않아야합니다.
  • 다른 접근 방법은 무엇입니까? 당신은 사용자 상호 작용을 해제하기 위해 각 뷰에 대한 falseinteractive을 설정할 수 있습니다

    model: 10 
    

    : 당신이 주변에 포장 할 항목을 원하는 경우

+1

이미 그러한보기가 있지만 Qt 빠른 엔터프라이즈 컨트롤 (라이센스가 있어야 함) - http://doc.qt.digia.com/QtQuickEnterpriseControls/qml-qtquick-enterprise-controls-tumbler.html –

답변

0

는, 그 모델 리터럴 10 있습니다 PathView 몇 가지의를 사용합니다.

각보기는 입니다. preferredHighlightBegin/최종 속성을 모두 0.5으로 설정하면 현재 항목이 항상 중앙에 배치됩니다.

그런 다음 너비가 implicitWidthItem 안에 모든 것을 동봉하고 높이가 원하는 높이 (아마도 한 대의 항목 위임자의 높이)와 같습니다. ~ true을 설정하면 표시하지 않아야하는 항목을 숨길 수 있습니다. 그런 다음 내용 (행)을 항목의 가운데에 맞출 수 있습니다.