2015-04-21 5 views
1

Моя проблема в том, когда я прокручиваю элементы ListView, элементы прокручиваются по границе прямоугольника, но я обернул ListView внутри Rectangle. Как я могу прокручивать элементы, не выполняя границы Rectangle.Обтекание ListView внутри прямоугольника

Вот результат связывает https://drive.google.com/file/d/0Bx616yTb6y_xQzNxRy1UcktrVzA/view?usp=sharing https://drive.google.com/file/d/0Bx616yTb6y_xdl9CbWt4MTJ3Smc/view?usp=sharing

Ниже код

 ListModel{ 
     id: mod 
    } 
     Rectangle{ 
     id:listviewrec 
     x: 347 
     y:644 
     width: 700 
     height: 91 
     radius: 4 
     border.color:"#7CC7FF" 
     border.width: 4 
     visible: true 

      ListView{ 
       id:modlistview 
       width: listviewrec.width 
       height: listviewrec.height 
       clip: true 
       boundsBehavior: Flickable.DragOverBounds 
       spacing:25 
       model:mod 
       delegate: delegateimage 
       orientation: Qt.Horizontal 
       anchors.fill: listviewrec 


      } 

     } 


    Component{ 
     id:delegateimage 
     Item{ 
      id:imageitem 
      width:50 
      height:60 
      visible:true 
      Rectangle{ 
       id:imagerec 
       x:10 
       y:6 
       width: 60 
       height:70      
       border.color: "#7CC7FF" 
       border.width: 5 
       radius: 2 
       visible:true 
       Image{ 
        x: 3 
        y: 3 
        height : imagerec.height 
        visible: true 
        width : imagerec.width 
        anchors.fill: imagerec 
        source:fileUrl 
       } 
           } 
     } 
    } 

ответ

2

Я не думаю, что QML имеет концепцию внутри- и outer- прямоугольников, насколько границы обеспокоены , (или, если это так, границы рисуются во внутреннем прямоугольнике, так что дети будут нарисованы сверху).

Лучше здесь, чтобы, возможно, сделать что-то вроде этого:

Item { 
    id:listviewrec 
    x: 347 
    y:644 
    width: 700 
    height: 91 
    visible: true 

    ListView{ 
    id:modlistview 
    width: listviewrec.width 
    height: listviewrec.height 
    clip: true 
    boundsBehavior: Flickable.DragOverBounds 
    spacing:25 
    model:mod 
    delegate: delegateimage 
    orientation: Qt.Horizontal 
    anchors.fill: listviewrec 
    } 

    Rectangle { 
    radius: 4 
    border.color:"#7CC7FF" 
    border.width: 4 
    color: 'transparent' 
    anchors.fill: parent 
    } 
} 

Он просто рисует прозрачный прямоугольник с границей вы хотите в верхней части ListView

+0

Спасибо, что он отлично работает сейчас :) Не могли бы вы дать мне понять, как я могу добавить верхний и нижний колонтитулы, чтобы пользователь нажимает на заголовок, элементы списка перемещаются влево и нажимают u Нижний нижний колонтитул движется вправо. – MJKhan

0

На данный момент я не могу запустите свой код, но, похоже, нужно удалить явные настройки ширины и высоты, так как вы используете anchors.fill

Смежные вопросы