1

QStringList プロパティがあり、基本的にそれをラジオ ボタンのグループに動的に変換して、QStringList プロパティがボタンの数を変更し、そのラベルが自動的に更新されるようにしたいと考えています。

私はListViewでそれを行うことができますが、問題があります:

  1. これは実際にはデスクトップ ウィジェットではないため、すべてのモバイル機能を利用できます。
  2. ListView の選択を取得できず、ラジオ ボタンのチェックが適切に相互作用します。

とにかく、これが私の試みです。私は理想的にはListViewなしでそれをやりたいと思っています:

        ListView {
            id: myList
            orientation: ListView.Horizontal

            ExclusiveGroup {
                id: myListExclusiveGroup
            }

            Component {
                id: myDelegate
                RadioButton {
                    text: modelData
                    onCheckedChanged: {
                        if (checked)
                            myList.currentIndex = index
                    }
                    exclusiveGroup: myListExclusiveGroup
                }
            }

            model: myListOfStrings
            delegate: myDelegate
            focus: true
        }
4

1 に答える 1

3

koopajah のおかげで、私はそれを使用するように変更し、Repeater現在は動作しています。親の子の最後Repeaterにすべてを追加するように見えることに注意してください。つまり、レイアウト内の位置に依存することはできません。たとえば、次のように、別のレイアウト内に配置する必要があります。

        ExclusiveGroup {
            id: myListExclusiveGroup
        }
        RowLayout {
            Repeater {
                id: myList

                RadioButton {
                    text: modelData
                    exclusiveGroup: myListExclusiveGroup
                }

                model: myListOfStrings
                focus: true
            }
        }
于 2013-08-30T10:13:24.950 に答える