2017-11-08 5 views
0

숫자 목록이 있습니다.숫자를 원으로 배열하십시오.

property var numbers: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120] 

시계와 같이 정리하고 싶습니다.

QML 시계 예제을 사용해 보았지만 제대로 적용하지 못했습니다.
QML 도구를 사용하여 어떻게 그 배열을 동적으로 생성 할 수 있습니까?

+0

진지하게는 ** 너무 광범위 **, 짧고 간단한 대답이있을 때 (이미 닫을 때 제공됨)? OP가 시도했을지도 모르는 접근법이 빠져있는 * 오프 토픽 *이 가능합니다. 그러나 ** 너무 광범위 ** 실제로 요점을 놓치고있다. 내가 가지고있는 유일한 설명은 Qt/QML과 관련이없는 분야의 거의 모든 closers *가 "다른 언어로 할 수도 있습니다"라는 대답에 유혹을 느끼기 때문에 가능한 많은 답변을 얻을 수 있다는 것입니다. 그러나 그 대답은 * 질문에 대한 대답이 아니기 때문일 것입니다. 책임있는 투표를 사용하십시오! – derM

+0

@derM 적절한 방식으로 질문을 편집하면 광범위하지 않지만 원래 질문으로 돌아 가면 작성자가 아무 것도 해결하려고 시도하지 않은 것을 볼 수 있습니다. 그러면 저자는이 유형을 묻는 데 익숙해집니다 어떤 노력도 보이지 않고 질문을합니다. 그래서 코딩 서비스가 아니기 때문에 저자는 자신이 시도한 것을 보여줘야합니다. – eyllanesc

+0

그럼 우리는 왜? "이 질문이 도움말 센터의 규칙에 맞게 수정 될 수 있다면 질문을 수정하십시오." 그리고 아닙니다 : "당신이 도움이 될 수 없다면 최대한으로." – derM

답변

1

삼각 함수 등을 사용하여 위치를 계산하거나 간단하게 회전하고 'Text'요소를 맨 위에 고정하는 '쐐기'로 Item을 사용할 수 있습니다.

이는 다음과 같습니다

Repeater { 
    id: rep 
    model: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110] 

    delegate: Item { 
     height: 100 
     anchors.bottom: parent.verticalCenter 
     anchors.left: center.horizontalCenter 
     transformOrigin: Item.Bottom 
     rotation: 360/rep.model.length * index 
     Text { 
      text: modelData 
      anchors.horizontalCenter: parent.horizontalCenter 
      rotation: -parent.rotation // If you want to have them upright 
     } 
    } 
} 

당신이 똑바로 텍스트가 마지막 회전을 주석 처리하지 않으려면

.

+0

실례합니다. 원을 반원형으로 바꿀 수 있습니까? –

+0

'rotation : 360/rep.model.length * index'가 표시됩니다. 360은 학위의 전체 범위입니다. 360은 완전한 원입니다. 예 :로 변경하십시오. 반원 만 180. 시작 각도를 조정하려면 여러 각도를 더하거나 뺍니다. 'rotation : 180/rep.module.length * index - 90' – derM

+0

내 대답이 도움이된다면, 그것을 upvote하는 것을 잊지 마시기 바랍니다. 귀하의 질문에 충분히 답변을하면 * 수락 *으로 확인하십시오. 고맙습니다! – derM