【无标题】QML中的anchors和Layout布局的使用

5 篇文章 1 订阅

QML中的anchors和Layout布局的使用

关于布局和锚点,在wpf的时候没有碰到这些问题,在QML中,一直有些恍惚。做一个界面,忽然有一点领悟,不知道是不是对的。

布局管理器

是在一个范围内划定多个区域,这个区域可以跟随页面的改变而改变,其内部一级的器件,需要按照布局的方式进行对位置参数的设定,即以Layout开头的配置。

锚点

是在一个范围内直接操作排列,也可以实现布局管理器的功能,麻烦一些,但是反过来是不行的。

            Button{
                text: qsTr("参数配置")
                font.pointSize: 24
                font.bold: true
                Layout.preferredWidth:200
                Layout.preferredHeight: 80
            }
            Rectangle{
                Layout.fillHeight: true
                Layout.preferredWidth: 200

                Image {
                    id: logo
                    width: 100
                    height:  100
                    source: "qrc:/img/img/jw_logo_2.png"
                    fillMode: Image.PreserveAspectFit
                    clip: true
                    anchors.bottom: parent.bottom
                    anchors.left: parent.left
                    anchors.right: parent.right
                }
            }
最重要的一点:

两者是混用的,是在不同情况下使用,比如在RowLayout下放置Rectangle,对RowLayout的位置设定是需要使用锚的方式的,因为它的外层没有Layout;对Rectangle需要使用布局的方式,如Layout.fillHeight等,这对应的是内部第一级的;如果在Rectangle中再有一个Image,其位置则是对应于Rectangle,而不是再外层的Layout,所以使用anchors的方式。

我以为在最内层的Image上也是需要使用Layout的,但是折腾了一晚上再加一早上,没能实现,使用anchors可以了,回头再想,在wpf中,也是这样的。

image-20220906092752928

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QML是一种基于JavaScript语法的用户界面描述语言,它使用了一种类似CSS的布局方式来管理UI元素的位置和大小。这种布局方式称为QML布局管理,它使得UI设计师可以更加方便地创建和管理UI布局。 以下是QML布局管理使用说明: 1. 容器元素 在QML布局管理,容器元素是最基本的元素之一。它们用于包含其他UI元素,从而创建整个UI界面。常见的容器元素包括Rectangle、Item、ColumnLayout、RowLayout等。 2. 布局属性 QML布局管理提供了一些布局属性,用于控制UI元素的位置和大小。常见的布局属性包括x、y、width、height、anchors等。 其,x和y属性用于控制UI元素的位置,width和height属性用于控制UI元素的大小,anchors属性用于将UI元素锚定到其他UI元素上。 3. 布局方式 QML布局管理提供了多种布局方式,包括水平布局、垂直布局、网格布局等。这些布局方式可以通过使用不同的容器元素和布局属性来实现。 例如,使用ColumnLayout容器元素和Layout.alignment属性可以创建垂直布局使用RowLayout容器元素和Layout.alignment属性可以创建水平布局使用GridLayout容器元素可以创建网格布局。 4. 响应式设计 QML布局管理支持响应式设计,可以根据不同的设备和屏幕尺寸来自动调整UI元素的位置和大小。这可以通过使用Layout.preferredWidth和Layout.preferredHeight属性来实现。 例如,为了使UI元素在不同的屏幕尺寸下都能够自适应,可以设置Layout.preferredWidth和Layout.preferredHeight属性为相对值,如:Layout.preferredWidth: parent.width * 0.5。 总之,QML布局管理是一种非常方便和灵活的UI布局方式,可以帮助UI设计师更加高效地创建和管理UI界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值