美文网首页Qt QML 杂记
QML 元素自适应内部元素的宽高变化

QML 元素自适应内部元素的宽高变化

作者: 赵者也 | 来源:发表于2021-03-29 16:27 被阅读0次

QML 元素自适应内部元素的宽高变化

1. 背景

在 QML 开发中我们常常需要处理包含大量视图元素的情况。其中,有时候我们需要面对如下的情况:外部视图元素可能需要根据内部的子元素的宽高的变化。

Clicked Center Rect Update Width

如上图我们希望图中的中间绿色边框的子控件的宽度变化时,外围的父控件的宽度也更新宽度,此时可以使用 Item 元素的 childrenRect 属性来更新外围控件的宽度。具体可以参见下面的示例代码:

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    visible: true
    width: 1000
    height: 400
    color: "white"
    title: "Test childrenRect"

    Rectangle {
        color: "#B97A57"
        border.color: "black"
        border.width: 4
        anchors.centerIn: parent
        width: childrenRect.width + 47 + 47
        implicitHeight: 300

        Rectangle {
            id: id_left
            color: "#00A2E8"
            border.color: "#FFF200"
            border.width: 4
            implicitWidth: 200
            implicitHeight: 200
            anchors.left: parent.left
            anchors.leftMargin: 47
            anchors.verticalCenter: parent.verticalCenter
        }

        Rectangle {
            id: id_center
            color: "#C3C3C3"
            border.color: "#22B14C"
            border.width: 4
            implicitHeight: 200
            implicitWidth: 300
            anchors.left: id_left.right
            anchors.leftMargin: 20
            anchors.verticalCenter: parent.verticalCenter

            Text {
                anchors.centerIn: parent
                text: "Click Me"
            }

            MouseArea {
                anchors.fill: parent
                onClicked: {
                    id_center.width += 10
                }
            }
        }

        Rectangle {
            id: id_right
            color: "#3F48CC"
            border.color: "#FFAEC9"
            border.width: 4
            implicitHeight: 200
            implicitWidth: 150
            anchors.left: id_center.right
            anchors.leftMargin: 20
            anchors.verticalCenter: parent.verticalCenter
        }
    }
}

相关文章

  • QML 元素自适应内部元素的宽高变化

    QML 元素自适应内部元素的宽高变化 1. 背景 在 QML 开发中我们常常需要处理包含大量视图元素的情况。其中,...

  • 高度塌陷

    1、自适应宽高 (1)块级元素宽度设置为100%,或者不设置,默认为父元素的宽 (2)高度自适应:不设置父元素的高...

  • 行内标签

    形态属性(display) 行内元素 在一个行里排列、不能指定宽高、 默认宽高为自适应内部的总宽高、高度可以用LI...

  • 去哪儿 swiper组件和 icon组件 开发(宽高自适应 )

    关键技术点 元素的宽高自适应 图表区域逻辑实现

  • 宽高自适应及居中

    一、宽高自适应 1.宽度自适应 语法:width:100%; 注:1.块元素默认宽度为100%,继承父元素的宽度2...

  • CSS宽高自适应

    宽高自适应 网页布局中经常要定义元素的宽和高。但很多时候我们希望元素的大小能够根据窗口或子元素自动调整,这就是自适...

  • HTMLCSS学习笔记(八)-- 宽高自适应

    宽高自适应 网页布局中经常要定义元素的宽和高。但很多时候我们希望元素的大小能够根据窗口或子元素自动调整,这就是pc...

  • HTML/CSS 09-宽高自适应

    一、宽高自适应的概念和使用 网页布局中经常要定义元素的宽和高。但很多时候我们希望元素的大小能够根据窗或子元素自动调...

  • h5总结心得

    1:html元素,块级元素(有固定高,高度不自适应),都会被内部元素撑破溢出。 2、 块格式化上下文(BFC)有下...

  • 未知宽高元素居中篇

    一、父元素宽高未知、子元素宽高已知 父元素{ position: relative;}子元素{ position...

网友评论

    本文标题:QML 元素自适应内部元素的宽高变化

    本文链接:https://www.haomeiwen.com/subject/wkvbhltx.html