qml组件学习-SplitView

本文介绍了Qt Quick中的SplitView组件,用于将视图分割为多个部分,每个部分可独立设置尺寸和组件。示例代码展示了垂直布局的SplitView,包含三个不同颜色的Rectangle组件,并详细解释了SplitView的布局规则、拖动手柄设计以及各组件的大小限制。通过SplitView,开发者可以灵活地创建响应式和可调整布局的应用界面。
摘要由CSDN通过智能技术生成

SplitView:顾名思义,他能将视图切割成不同的小块,每个小块可以是不同的组件。
演示代码:

import QtQuick 2.15
import QtQuick.Window 2.15
 import QtQuick.Controls

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

    /**
      SplitView使用规则:
       如果是垂直布局:就设置每个组件的高度(implicitHeight)
       如果是水平布局:就设置每个组件的宽度(implicitWidth)
       SplitView也可以嵌套使用
      **/
    SplitView {
        anchors.fill: parent
        orientation: Qt.Vertical  //视图排列方向

        handle: Rectangle {   //设计拖动的线 ,让其拖动必须设置implicitHeight,不然无法拖动
            //            width: 20
//            implicitWidth: 200
            implicitHeight: 3
            color: SplitHandle.hovered ? "#81e889" : "#FFFFFF"
        }

        Rectangle {
//            implicitWidth: 300  //初始化的宽度
            implicitHeight: 100
//            SplitView.maximumWidth: 400 //能拖动的最大的宽度
            SplitView.maximumHeight: 300
            color: "lightblue"
            Label {
                text: "View 1"
                anchors.centerIn: parent
            }
        }


        Rectangle {
            id: centerItem
//            SplitView.minimumWidth: 50 //可以达到的最小宽度
            SplitView.minimumHeight: 90
//            SplitView.fillWidth: true  //可以填满整个宽度
            SplitView.fillHeight: true
            color: "lightgray"
            Label {
                text: "View 2"
                anchors.centerIn: parent
            }
        }
        Rectangle {
//            implicitWidth: 200
            implicitHeight: 200
            color: "lightgreen"
            Label {
                text: "View 3"
                anchors.centerIn: parent
            }
        }

//        Rectangle {
//            implicitWidth: 15
//            SplitView.fillWidth: true
//            color: "red"
//            Label {
//                text: "View 4"
//                anchors.centerIn: parent
//            }
//        }
    }

}

效果如下:
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值