참고 자료 : https://doc.qt.io/qt-5/qtquick-modelviewsdata-modelview.html#mouse-and-touch-handling
참고 자료 : https://doc.qt.io/qt-5/qml-qtqml-models-listmodel.html#append-method
뷰는 콘텐츠의 드래그 및 플릭을 처리하지만 개별 델리게이트와의 터치 상호 작용은 처리하지 않습니다.
예를 들어 currentIndex를 설정하기 위해 델리게이트가 터치 입력에 반응하려면 델리게이트가 적절한 터치 처리 로직이있는 MouseArea를 제공해야합니다.
키 입력은 기본적으로 작동하지만 델리게이트에서 마우스 / 터치 이벤트를 명시 적으로 포착 하고 선택한 델리게이트 항목 값에 따라 변경해야 합니다.
import QtQuick 2.4
import QtQuick.Window 2.2
Window {
width: 640
height: 480
visible: true
ListModel {
id: model
ListElement {
name:'abc'
number:'123'
}
ListElement {
name:'efg'
number:'456'
}
ListElement {
name:'xyz'
number:'789'
}
}
ListView {
id: list
anchors.fill: parent
model: model
delegate: Component {
Item {
width: parent.width
height: 40
Column {
Text { text: 'Name:' + name }
Text { text: 'Number:' + number }
}
MouseArea {
anchors.fill: parent
onClicked: list.currentIndex = index
}
}
}
highlight: Rectangle {
color: 'grey'
Text {
anchors.centerIn: parent
text: 'Hello ' + model.get(list.currentIndex).name
color: 'white'
}
}
focus: true
onCurrentItemChanged: console.log(model.get(list.currentIndex).name + ' selected')
}
[QT QML] QML Code Conventions , QML 기초, 기본적인 기초 (0) | 2021.07.01 |
---|---|
[QT QML] QML Customizing qml databinding : qml 재사용하기 (0) | 2021.06.30 |
[C++ QT QML] QML내에서의 시그널 슬롯 시스템 QML Signal Slot (0) | 2021.06.29 |
[C++ QT QML] QML 가상 키보드 사용하기 virtual keyboard 리눅스 키보드 (0) | 2021.06.29 |
[C++ QT QML] C++에서 QML ListView로 값 나타내기 (0) | 2021.06.17 |