Qt/QML学习-Tumbler

QML学习

main.qml

复制代码
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")

    Tumbler {
        id: tumbler
        anchors.centerIn: parent
        // 只显示3个视图
        visibleItemCount: 3
        // 绘制背景视图
        background: Rectangle {
            border.width: 1
            radius: 10
        }

        // 模型
        model: ListModel {
            ListElement { value: "视图1" }
            ListElement { value: "视图2" }
            ListElement { value: "视图3" }
            ListElement { value: "视图4" }
            ListElement { value: "视图5" }
        }
        // 代理
        delegate: Rectangle {
            width: 100
            height: 50
            color: "transparent"
            Text {
                anchors.centerIn: parent
                text: value
                font.bold: true
                font.pointSize: 15
                color: tumbler.currentItem === this.parent? "red": "black"
                Rectangle {
                    y: parent.height + 5
                    color: "green"
                    width: parent.width
                    height: 2
                }
            }
            MouseArea {
                anchors.fill: parent
                hoverEnabled: true
                onEntered: {
                    color = "gray"
                    opacity: 0.5
                }
                onExited: {
                    color = "transparent"
                    opacity: 1
                }
            }
        }
        // 是否循环
        wrap: true
        // 视图加载完成时
        Component.onCompleted: {
            tumbler.currentIndex = 1
            tumbler.currentIndex = 0
        }
    }
}

演示

视频讲解

相关推荐
蒸蒸yyyyzwd4 小时前
cpp对象模型学习笔记1.1-2.8
java·笔记·学习
阿蒙Amon5 小时前
TypeScript学习-第7章:泛型(Generic)
javascript·学习·typescript
Hill_HUIL5 小时前
学习日志23-路由高级特性(静态路由)
网络·学习
今儿敲了吗6 小时前
鸿蒙开发第一章学习笔记
笔记·学习·鸿蒙
clever1017 小时前
在QtCreator 4.10.2中调试qt程序qDebug()输出中文为乱码问题的解决
开发语言·qt
经年未远8 小时前
vue3中实现耳机和扬声器切换方案
javascript·学习·vue
Hill_HUIL8 小时前
学习日志22-静态路由
网络·学习
吕司9 小时前
Qt的信号与槽
开发语言·qt
詩不诉卿10 小时前
zephyr学习之自定义外部module记录
学习
浮游本尊10 小时前
React 18.x 学习计划 - 第十三天:部署与DevOps实践
学习·react.js·状态模式