गतिशील संपत्ति के नाम के अंदर कार्य प्रतिनिधि

0

सवाल

मैं कोशिश कर रहा हूँ शामिल करने के लिए एक सेटिंग ऑब्जेक्ट के अंदर प्रतिनिधि के एक अपराधी इतना है कि मैं कर सकते हैं बचाने के लिए मूल्य का एक SpinBox. हालांकि, मैं नहीं कर सकते हैं बाहर आंकड़ा कैसे करने के लिए गतिशील रूप से सेट संपत्ति के अन्य नाम का नाम ।

मैं क्या चाहते हैं को प्राप्त करने के लिए है करने के लिए संपत्ति है, अन्य नाम का नाम एक ही होने के लिए के रूप में modelData. के लिए उदाहरण के लिए, आइटम 1: "संपत्ति उर्फ आइटम 1: बॉक्स में । मूल्य"; के लिए 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 हाँ, मुझे पता है, मैं जोड़ने के लिए जा रहा है, लेकिन यह आईएमओ यह अनावश्यक है करने के लिए उन्हें बचाने के लिए सभी समय पर, मैं पसंद करते हैं कि लोड शुरुआत में है और बचाने के लिए अंत में.
eyllanesc

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में