我有一个GridView,其中包含'n'个项目。我想在不使用滚动条的情况下滚动网格视图
GridView{
id:product_grid
//width:1265 //height:621
boundsBehavior: Flickable.StopAtBounds
flow:GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition{
NumberAnimation{properties: "y,x"; easing.type: Easing.OutQuad }
}
答案 0 :(得分:0)
经过研究和摆弄后,我将其简化为两个步骤。
(1)在您的其他导入命令中,在文件顶部添加import QtQuick.Controls 2.4
。
(2)将ScrollBar.vertical: ScrollBar { visible: false }
添加到您的GridView
对象中。
基本上,您正在使用[您的]自定义滚动条重载滚动条,并使它不可见。
这里是一个例子:
import QtQuick 2.0
import QtQuick.Controls 2.4 // important
// ...
GridView {
/* Your code
id: product_grid
boundsBehavior: Flickable.StopAtBounds
flow: GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition {
NumberAnimation { properties: "y,x"; easing.type: Easing.OutQuad }
}
*/
// magic (overloads vertical scrollbar, allowing for customisable scrollbars)
ScrollBar.vertical: ScrollBar {
visible: false // hides scrollbar
}
model: ListModel {
ListElement { letter: 'a' }
ListElement { letter: 'b' }
ListElement { letter: 'c' }
ListElement { letter: 'd' }
ListElement { letter: 'e' }
ListElement { letter: 'f' }
ListElement { letter: 'g' }
ListElement { letter: 'h' }
ListElement { letter: 'i' }
ListElement { letter: 'j' }
}
anchors.centerIn: parent
width: 300
height: 200
delegate: Column {
Text {
color: "white"
text: letter
anchors.horizontalCenter: parent.horizontalCenter
}
}
}
了解更多: