10. GridView控件的简单介绍

该文介绍了如何利用QtQuick中的GridView控件来整齐排列多个相似控件,展示了GridView的关键属性如宽度、高度、单元格尺寸、数据模型以及高亮设置,并提供了一个包含纵向滑动条的示例代码,用于创建9个具有相同颜色和文本的矩形控件。
摘要由CSDN通过智能技术生成

1. 使用说明:

在某种界面设计中,如果需要很多个类似的控件整齐的排列,类似方阵的一种数据展示,可以使用GridView控件来实现。

2. 常用属性介绍:

width:宽度
height:高度
clip:超过区域是否自动裁切
cellWidth:单元格宽度
cellHeight:单元格高度
model:提供数据,ListModel
delegate:为数据设计展示样式
currentIndex:当前项索引
highLight:高亮显示样式
highlightFollowsCurrentItem:高亮是否跟随当前项
highlightMoveDuration:高亮移动到下一个位置所需时间

附加属性:
ScrollBar.vertical:纵向滑动条
ScrollBar.horizontal:横向滑动条

3. 示例代码:

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15

Window {
    id:root
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello Signal")

    GridView{
        id:gridView
        anchors.centerIn: parent
        width: cellWidth * 5
        height: cellHeight * 2
        clip:true
        cellWidth:40
        cellHeight:40

        model: ListModel{
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
            ListElement{
                mname:"控件1"
                mcolor:"lightgreen"
            }
        }
        delegate: Rectangle{
            width: GridView.view.cellWidth - 2
            height:GridView.view.cellHeight - 2
            color: mcolor
            Text {
                id: txt
                anchors.centerIn: parent
                text: qsTr(mname)
            }
        }
        ScrollBar.vertical: ScrollBar {
            implicitWidth: 15
            implicitHeight: 20
            height: parent.height
            anchors.right:parent.right
            policy: ScrollBar.AlwaysOn       //滚动条始终显示
        }
    }
}

持续更新中,请大家多多关注…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山间点烟雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值