2013-01-20 55 views
5

मुझे क्यूएमएल सूचीदृश्य में तत्व जोड़ने के साथ कुछ मदद की ज़रूरत है, मेरे पास एक टेक्स्टरीए और एक बटन है जो टेक्स्टएरा टेक्स्ट को दबाए जाने पर सूचीदृश्य आइटम में जोड़ देगा, यहां मेरा प्रयास है:क्यूएमएल, गतिशील रूप से एक सूचीदृश्य में तत्व जोड़ना

Component { 
    id: delegate 
    Item { 
     width: 200; height: 28 
     Label { 
      text: score 
     } 
    } 
} 

ListView { 
    id: p1scores 
    model: p1model 
    delegate: delegate 
    anchors.top: p1name.bottom 
    anchors.topMargin: units.gu(1) 
} 

ListModel { 
    id: p1model 
    ListElement { score: "0" } 
} 

TextArea { 
    id: p1input 
    width: units.gu(8) 
    height: units.gu(3) 
    horizontalAlignment: TextEdit.AlignHCenter 
    inputMethodHints: Qt.ImhDigitsOnly 
    contentHeight: units.gu(60) 
    anchors.topMargin: units.gu(8) 
} 

Button { 
    id:p1button 
    text: i18n.tr("Add") 
    width: units.gu(8) 
    onClicked: { 
     p1model.append({"score": p1input.text}) 
     p1input.text = "" 
    } 
} 

मैंने इसे जोड़ने की कोशिश की लेकिन सूचीदृश्य में दिखाई नहीं दे रहा है ... कोई मदद?

+4

में अपने p1button onClicked, आप textarea में पाठ * पहले * ListModel में लेख जोड़ने को मंजूरी दे दी, बिल्कुल पाठ पर नहीं दिखाया जाएगा अप। – Dickson

+0

पाठ अभी भी प्रदर्शित नहीं होता है, मुझे लगता है कि यह प्रतिनिधि के साथ एक समस्या है ... (प्रश्न संपादित किया गया) – Hairo

+0

मुझे यकीन नहीं है लेकिन ... अपने 'प्रतिनिधि' घटक आईडी को किसी और चीज़ में बदलें, क्योंकि जब आप अपने लिस्ट व्यू में 'प्रतिनिधि: प्रतिनिधि' का उपयोग करें, यह मानता है कि 'प्रतिनिधि: p1scores.delegate' है, इसलिए यह स्वयं को वापस बांधता है। – Dickson

उत्तर

8

इस तरह 'स्कोर' के आसपास उद्धरण चिह्नों के बिना प्रयास,:

onClicked: { 
    p1model.append({score: p1input.text}) 
    p1input.text = "" 
}