117 lines
3.4 KiB
QML
117 lines
3.4 KiB
QML
// Copyright (C) 2017 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
|
|
|
import QtQuick 2.0
|
|
|
|
Rectangle {
|
|
width: 300
|
|
height: 400
|
|
|
|
ListView {
|
|
id: listview
|
|
model: model1
|
|
delegate: delegate1
|
|
anchors.fill: parent
|
|
anchors.margins: 20
|
|
}
|
|
|
|
Component {
|
|
id: delegate1
|
|
Rectangle {
|
|
height: listview.orientation == ListView.Horizontal ? 260 : 50
|
|
Behavior on height { NumberAnimation { duration: 500 } }
|
|
width: listview.orientation == ListView.Horizontal ? 50 : 260
|
|
Behavior on width { NumberAnimation { duration: 500 } }
|
|
border.color: "black"
|
|
Text {
|
|
anchors.centerIn: parent; color: "black"; text: model.name
|
|
rotation: listview.orientation == ListView.Horizontal ? -90 : 0
|
|
Behavior on rotation { NumberAnimation { duration: 500 } }
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
Component {
|
|
id: delegate2
|
|
Rectangle {
|
|
height: listview.orientation == ListView.Horizontal ? 260 : 50
|
|
Behavior on height { NumberAnimation { duration: 500 } }
|
|
width: listview.orientation == ListView.Horizontal ? 50 : 260
|
|
Behavior on width { NumberAnimation { duration: 500 } }
|
|
color: "goldenrod"; border.color: "black"
|
|
Text {
|
|
anchors.centerIn: parent; color: "royalblue"; text: model.name
|
|
rotation: listview.orientation == ListView.Horizontal ? -90 : 0
|
|
Behavior on rotation { NumberAnimation { duration: 1500 } }
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
Column {
|
|
Rectangle {
|
|
height: 50
|
|
width: 50
|
|
color: "blue"
|
|
border.color: "orange"
|
|
Text {
|
|
anchors.centerIn: parent
|
|
text: "Mod"
|
|
}
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: listview.model = listview.model == model2 ? model1 : model2
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
height: 50
|
|
width: 50
|
|
color: "blue"
|
|
border.color: "orange"
|
|
Text {
|
|
anchors.centerIn: parent
|
|
text: "Del"
|
|
}
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: listview.delegate = listview.delegate == delegate2 ? delegate1 : delegate2
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
height: 50
|
|
width: 50
|
|
color: "blue"
|
|
border.color: "orange"
|
|
Text {
|
|
anchors.centerIn: parent
|
|
text: "Ori"
|
|
}
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: listview.orientation = listview.orientation == ListView.Horizontal ? ListView.Vertical : ListView.Horizontal
|
|
}
|
|
}
|
|
}
|
|
|
|
ListModel {
|
|
id: model1
|
|
ListElement { name: "model1_1" }
|
|
ListElement { name: "model1_2" }
|
|
ListElement { name: "model1_3" }
|
|
ListElement { name: "model1_4" }
|
|
ListElement { name: "model1_5" }
|
|
}
|
|
|
|
ListModel {
|
|
id: model2
|
|
ListElement { name: "model2_1" }
|
|
ListElement { name: "model2_2" }
|
|
ListElement { name: "model2_3" }
|
|
ListElement { name: "model2_4" }
|
|
ListElement { name: "model2_5" }
|
|
}
|
|
}
|