안녕하세요. Listview 질문이 있어서 이렇게 글을 남깁니다.
현재 QT Quick 에서 ListView를 사용하고 있습니다.
QT Quick에서 에서 아래와 같은 ListView를 만들었습니다.
위에 그림처럼 빨간색 선 부분을 직접 만들고, 빨간색 선과 검은색 선 부분을 클릭하여 Delegate Item의 width , height 의 크기를 조절하고 싶은데,
검색을 해도 정보가 안나오고 있습니다. ( 반드시 ListView 여야 합니다. )
키워드나 정보를 알려주실 수 있으실까요,
감사합니다.
기본 기능에 이런 기능이 있는지는 확실하지 않습니다만 없으면 다양한 방법으로 직접 개발할 수 도 있을 겁니다. 다음은 간단하게 예제로 작성한 것입니다.
Item {
anchors.fill: parent
ListView{
id: listView
width: 600
height: 400
anchors.centerIn: parent
model: 5
interactive: false
property int colmn0Width: 70
Rectangle {
width: 2
height: 50 * listView.count
color: "white"
x: parent.colmn0Width
z: 99
MouseArea {
anchors.fill: parent
onMouseXChanged: {
if(pressed){
// Set to listView.colmn0Width
let posX = mapToItem(listView, mouseX, mouseY).x
let magin = posX - parent.x + parent.width
parent.x += magin
}
}
onReleased: {
listView.colmn0Width = parent.x
}
}
}
delegate: Item {
id: item
width: 600
height: 50
RowLayout{
anchors.fill: parent
spacing: 0
Rectangle{
Layout.fillHeight: true
Layout.fillWidth: true
Layout.preferredWidth: listView.colmn0Width
Layout.preferredHeight: 50
color: "yellowgreen"
border.width: 0
}
Rectangle{
id: line
Layout.preferredWidth: 2
Layout.preferredHeight: 50
color: "gray"
}
Rectangle{
id:column1
Layout.fillHeight: true
Layout.fillWidth: true
Layout.preferredWidth: parent.width - (listView.colmn0Width + 2)
Layout.preferredHeight: 50
color: "blue"
border.width: 0
}
}
}
}
}