2013-10-16 5 views
7

के लिए एक स्क्रॉल करने योग्य सूची दृश्य या तालिका दृश्य बनाना चाहता हूं, मैं एक टचस्क्रीन एप्लिकेशन लिखने जा रहा हूं जिसमें एक जंगली सूची दृश्य नियंत्रण है। वर्तमान में मेरी समस्या यह है कि सामग्री दृश्य से बाहर आती है, यदि सामग्री सूची से अधिक/उच्च है तो स्क्रॉल करने का प्रयास करते समय स्वयं देखें।मैं एक क्यूटी/क्यूएमएल टचस्क्रीन एप्लिकेशन

enter image description here

यह मेरे वर्तमान कोड है। मुझे केवल सूचीदृश्य में स्क्रॉल करने के लिए समाधान की आवश्यकता है और इसकी सीमा को ओवरफ़्लो नहीं करना है।

ListModel { 
     id: listModle 
     ListElement { 
      name: "Bill Smith" 
      number: "555 3264" 
     } 
     ListElement { 
      name: "John Brown" 
      number: "555 8426" 
     } 
     ListElement { 
      name: "Sam Wise" 
      number: "555 0473" 
     } 
     ListElement { 
      name: "Bill Smith" 
      number: "555 3264" 
     } 
     ListElement { 
      name: "John Brown" 
      number: "555 8426" 
     } 
     ListElement { 
      name: "Sam Wise" 
      number: "555 0473" 
     } 
    } 

    Rectangle { 
     x: 100 
     y: 100 
     width: 180; height: 200 

     Component { 
      id: contactDelegate 
      Item { 
       width: 180; height: 40 
       Column { 
        Text { text: '<b>Name:</b> ' + name } 
        Text { text: '<b>Number:</b> ' + number } 
       } 
      } 
     } 

     ListView { 
      id: listView 
      anchors.fill: parent 
      model: listModle 
      delegate: contactDelegate 
      //highlight: Rectangle { color: "lightsteelblue"; radius: 5 } 
      focus: true 
      contentHeight: 150 


     } 


    } 

उत्तर

11

listView exceedes Rectangle माता पिता क्योंकि वहाँ प्रदर्शित करने के लिए भी कई तत्व हैं।

यह बिल्कुल ठीक है, आपको बस अपने आयत वस्तु पर clip: true चालू करना होगा। इस तरह, आपकी सूची की सामग्री केवल आयताकार व्यूपोर्ट से दिखाई देगी।

संपादित करें (समर्थक टिप): अगर सूचीदृश्य ऊंचाई से भी कम है संलग्नित माता पिता आयत, प्रयोज्य चिंताओं के लिए आप स्क्रॉल व्यवहार अक्षम करना चाहिए। Qml Flickable एपीआई (विशेष रूप से interactive और contentWidth/Height) प्रदर्शन करने के लिए कुछ सरल जांच को देखो;)

+0

धन्यवाद, यह काम करता है ;-) –

+0

आपका स्वागत है :) वैसे भी, आपको जवाब को स्वीकार करने के रूप में चिह्नित करना चाहिए यदि आपको वह समाधान है, तो अगर कोई और यहां टक्कर देता है, तो उसे वह पता चलेगा। – Polentino

0

एक स्क्रॉल सूचकांक तरह someting लागू करने के लिए आप का उपयोग कर सकते हैं:

ListView.visibleArea.yPosition 

जो प्रतिशत में Y स्थिति देता है।

संबंधित मुद्दे