2017-11-08 6 views
0

私は数字のリストを持っています。数字を円に沿って並べる

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

時計のように円に配置したい。

QMLクロックの例を使用しようとしましたが、それを適用できませんでした。
QMLツールを使用してそのアレンジを動的に生成するにはどうすればよいですか?

+0

真剣に、閉鎖**が広すぎる**、短くて簡単な答えがある(閉鎖時に既に提供されている)? OPが試みた可能性のあるアプローチが存在しないため、オフトピック*が可能です。しかし、**広すぎる**は本当にポイントを欠いています。私がこれについて持っている唯一の説明は、Qt/QMLとは無関係のフィールドからのクローズ*がほとんどであることです。「あなたは他の言語でそれを行うかもしれない」と答えてしまう可能性があります。しかし、彼らの答えは質問*への答えではないからです。責任ある票を使用してください! – derM

+0

@derM適切な方法で質問を編集すると、それは広範ではありませんが、元の質問に戻ると、著者は何も解決しようとしていないことがわかります。努力を示すことなく質問のSOはコーディングサービスではなく、作者は自分が試したことを示す必要があります。 – 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。開始角度を調整するには、度数を加算または減算します。 'rotate:180/rep.module.length * index-90' – derM

+0

私の答えが分かったら、upvoteを忘れないでください。あなたの質問に十分に答えるならば、それを*受け入れ*としてもチェックしてください。ありがとうございました! – derM

関連する問題