当前位置: 首页 > wzjs >正文

公司网站建设付款分录接app推广接单平台

公司网站建设付款分录,接app推广接单平台,男人是用什么做的视频网站,互联网平台建设方案布局管理 简单比较两种界面管理锚点布局实现比例布局布局管理实现比例布局 在日常打螺丝中,我们偶尔会需要实现界面各组件能按比例放置,自适应各种分辨率的需求。我用锚点和布局都实现过相关界面,记录下来两种方式实现的差异。跟大家一起学习…

布局管理

  • 简单比较两种界面管理
  • 锚点布局实现比例布局
  • 布局管理实现比例布局

在日常打螺丝中,我们偶尔会需要实现界面各组件能按比例放置,自适应各种分辨率的需求。我用锚点和布局都实现过相关界面,记录下来两种方式实现的差异。跟大家一起学习。

简单比较两种界面管理

特性布局系统锚点系统
排列方式自动流式布局精确相对定位
比例控制内置权重分配机制需手动计算百分比
嵌套复杂度适合多层嵌套结构适合扁平化结构
动态调整自动响应容器尺寸变化需绑定尺寸信号
典型应用表单布局/工具栏/等间距排列悬浮元素/固定边栏/叠加层

锚点、排列的简单介绍

这两者并不是严格分开使用,经常会混用,比如有时候用锚点分区域,然后用Layout布局控制里面的细节,或者用Layout 控制布局,里面用anchors控制小细节。


锚点布局实现比例布局

QML锚点系统(anchors)提供基于相对关系的布局方式,通过元素间的空间关系实现精准定位。比较直观,使用起来很方便。
常用接口:

  • anchors.left: parent.right ,本组件的左边是父组件的左边,相对定位设置 ,还有right 、top 、bottom等
  • anchors.centerIn: parent ,在父组件里正中央 居中
  • anchors.margins:30, 整体边距控制 或单独设置topMarginbottomMarginleftMarginrightMargin
  • anchors.horizontalCenter: parent.horizontalCenter, 相对父组件水平居中
  • anchors.verticalCenter parent.verticalCenter, 相对父组件垂直居中

实现没有什么约束(或者是我目前的场景没有遇到), 直接根据相对比例,计算即可。一般这样的话,根组件(或者依赖的父组件)要确定好大小,或者成为子组件。

property int ratio : 0.2 // 可以独立成属性,方便修改管理Item {id: containerwidth: 400; height: 300Rectangle {  // 标题(20%)id: headercolor: "lightgreen"anchors {top: parent.topleft: parent.leftright: parent.right}height: container.height * ratio }Rectangle {  // 内容(80%)color: "lavender"anchors {top: header.bottombottom: parent.bottomleft: parent.leftright: parent.right}height: container.height * (1-ratio )}
}

布局管理实现比例布局

所有用布局管理器管理的组件都会自动拥有Layout.xxxx 相关的属性,可以设置它们来控制布局实现。我个人比较推荐使用这种方式,当然有不同想法也欢迎评论区讨论
常用接口:

  • Layout.alignment: Qt.AlignTop, 控制对齐方式, 有水平居中Qt.AlignHCenter 左对齐Qt.AlignLeft 等
  • Layout.fillWidth: true, 控制是否填满宽度,高度是fillHeight
  • Layout.margins: 16 ,整体边距控制 或单独设置leftMargin / topMargin
  • Layout.preferredWidth: 50, 设定首选宽度是50, minimumHeight是最小

用Layout布局管理实现比例分配有三个要点:

  • 按比例分配:同时设置 Layout.fillxxx: true 和 Layout.preferredxxx,这样布局里的组件就会以preferredxxx作为比例因子,在分辨率变时组件相对大小保持不变。
  • 固定像素:仅设置 Layout.preferredxxxx(不设置 fillxxxx)就会变成按给定的值固定属性
  • 避免循环依赖:不要直接绑定 parent.width 或 parent.height,而是通过布局系统的内置机制实现自适应。

什么意思? 给举两个例子就明白了:

一,正确按比例分配 : 
两个chilstool会按照 82 的比例分配,且在窗口分辨率变化的情况下,比例依然不变:
如果想进一步细致控制,加大就行: 78 : 22,只需保证所有子项加起来 =1 或者 =100 能整除的就行ColumnLayout
{anchors.fill: parentRectangle{  // 标题(20%)color: "white"Layout.fillWidth: trueLayout.preferredHeight: 2  // 比例系数 2 / (2+8) Layout.fillHeight: true/******/}Rectangle{  // 内容(80%)color: "white"Layout.fillWidth: trueLayout.preferredHeight: 8  // 比例系数 8 / (2+8)Layout.fillHeight: true/******/}
}

二,布局的循环分配 : 
父引用子,子引用父,导致计算出错:ColumnLayout {anchors.fill: parentRowLayout {id: childlayoutLayout.fillHeight: true Layout.fillWidth: true  // 会先考虑子控件的宽Rectangle {id: chilstoolLayout.fillHeight: trueLayout.preferredWidth: parent.width * 0.8 // 又依赖父控件的宽color: "#ffffff"}Rectangle {id: chilstool2Layout.fillHeight: trueLayout.preferredWidth: parent.width * 0.2color: "#ffffff"}}}

布局系统的工作流程
QML 的布局系统(如 RowLayout、ColumnLayout)在计算尺寸时遵循以下步骤:

1,收集子项的隐式尺寸:根据子项的内容(如文本长度、图片大小)确定其隐式宽度/高度。
2,计算父布局的隐式尺寸:基于子项的隐式尺寸,确定父布局的最小尺寸。
3,分配剩余空间:如果父布局的显式尺寸(如 width: 500)大于隐式尺寸,剩余空间按比例分配给设置了 fillWidth/fillHeight 的子项。

关键点:父布局的尺寸必须优先确定,子项才能根据父布局的可用空间调整自身尺寸。
父控件声明fillXXX时会考虑子项的对应宽/高属性,如果子项的尺寸又依赖父布局的实时尺寸,就会>导致循环。所以布局管理器下的fillxxx 和子项的 parent.width * 0.8不能一起出现


http://www.dtcms.com/wzjs/336747.html

相关文章:

  • 有专门做序列图的网站重庆seo海洋qq
  • 广西建工集团冶金建设公司的网站整站外包优化公司
  • 做网站需要多少带宽2022年网络流行语
  • 德阳手机网站建设微信小程序免费制作平台
  • 做商城类网站空间怎么买百度云网盘资源链接
  • 南通网站建设团队百度网盘官网入口
  • 网站建设素材图违禁网站用什么浏览器
  • 有做任务赚钱的网站日照网络推广
  • 做服装网站服务网络推广的方法包括
  • 网站建设模版seo快速优化软件
  • 北京网站建设公司资讯疫情最新数据
  • c web网站开发快速seo主要做什么
  • wordpress搭建付费网站天津疫情最新消息
  • 做网站服务器要什么系统广告优化师工作内容
  • 广州网站建设制作价格网站优化团队
  • 建设一个网站软文广告发稿
  • 公司做的局域网网站怎么登陆海外网站建站
  • 墙绘做网站推广有作用没附近电脑培训班位置
  • 网站设计建设公司近期国际热点大事件
  • 佛山网站建设设计爱站网能不能挖掘关键词
  • app推广放单平台宁波seo关键词排名优化
  • 最好的网站建设公司哪家好如何让百度收录自己的网站信息
  • 英文网站模板公司品牌推广方案范文
  • 提交收录网站中国推广网站
  • 帝国 织梦 wordpressaso优化违法吗
  • dooor网站怎么做推广和宣传平台
  • 委托他人建设的网站的侵权责任网页制作基础教程
  • 天马网络 网站建设黄桃图片友情链接
  • 邢台网站制作怎么样网络视频营销
  • jsp怎样做网站中央新闻