동적 속성 이름 할당 내부의 대리자

0

질문

내가 노력하고 있을 포함하는 설정을 개체 내부의 대리인 중계기록을 저장할 수 있는 값의 SpinBox. 그러나 나는 방법을 알아낼 수 없습니다를 동적으로 설정 시 별칭 이름입니다.

내가 무엇을 달성하고 싶은 시 별칭 이름과 동일 모델 데이터. 예를 들어,item1:"속성이 별칭 item1:상자입니다.값이";에 대한 item2:"속성이 별칭 item2:상자입니다.값을",등등.

Column {
    Repeater {
        model: ["item1", "item2", "item3", "item4", "item5"]
        delegate: RowLayout {
            Settings {
                fileName: "config"
                category: modelData
                property alias value: box.value
            }
            Label {
                text: modelData
            }
            SpinBox {
                id: box
            }
        }
    }
}

위의 코드를 생성하고 다음 설정을 작성하여 주변에가 무엇을 하고 싶:

[item1]
value=""
[item2]
value=""
[item3]
value=""
...

내가 원하는 것은 단일 종류와 값을 다음과 같이:

[category]
item1=""
item2=""
item3=""
...
qml qt qt6
2021-11-20 01:36:52
1

최고의 응답

1

이러한 경우 사용할 수 없지만 속성 value()setValue() 방법:

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Qt.labs.settings

ApplicationWindow {
    width: 640
    height: 480
    visible: true

    readonly property var values: ["item1", "item2", "item3", "item4", "item5"]
    Settings {
        id: settings
        category: "category"
    }

    Column {
        Repeater {
            model: values
            delegate: RowLayout {
                id: row_layout
                Label {
                    text: modelData
                }
                SpinBox {
                    id: box
                }
                Component.onCompleted: box.value = settings.value(modelData, 0)
                Component.onDestruction: settings.setValue(modelData, box.value)
            }
        }
    }
}

출력:

[category]
item1=6
item2=6
item3=4
item4=2
item5=2
2021-11-20 02:21:15

이 완벽하게 작동합니다. 만한 것은 내가 말할 수있는 나는 설정 onValueChanged 성의 상에 저장하는 설정을 복제하는 별칭이다.
Vlad

@Vlad 그렇다,나는 알고 있었을 추가하려고 하지만 그것 IMO 는 것은 불필요하게 모든 시간을,내가 선호하는 부하를 시작 부분에서 및 저장 끝에서.
eyllanesc

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................