Qt6 Qt Quick UI原型学习QML第四篇

news2024/11/28 6:45:52

文章目录

  • 布局项目【对齐】
  • QML语句
  • QML语法解释


在这里插入图片描述

布局项目【对齐】

QML提供了一种灵活的方式来使用锚来布局项目。锚定的概念是项目的基础,并且可用于所有视觉QML元素。锚的作用就像一个契约,比竞争的几何变化更强。锚是相对性的表达;你总是需要一个相关的元素来锚定。

在这里插入图片描述

一个元素有6条主要定位线(顶部、底部、左侧、右侧、水平中心、垂直中心)。此外,文本元素中还有文本的基线锚点。每条锚线都有一个偏移量。对于顶部、底部、左侧和右侧锚点,它们被称为边距。对于水平中心、垂直中心和基线,它们被称为偏移。


QML语句

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12


Window {
    id: window
    visible: true
    width: 800
    height: 640
    title: qsTr("QML study")

    // 一个元素有6条主锚线(top, bottom, left, right, horizontalCenter, verticalCenter).
    Rectangle {
        id : green
        width: 48
        height: 48
        color: "green"
        border.color: Qt.lighter(color)
        anchors.fill: parent
        anchors.margins: 20

        // (1)一个元素填充一个父元素。
        Rectangle {
            id : blue
            width: 48
            height: 48
            color: "blue"
            border.color: Qt.lighter(color)
            anchors.fill: parent
            anchors.margins: 20

            // (2)元素与父元素左对齐。
            Rectangle {
                id : purple
                width: 100
                height: 100
                color: "purple"
                border.color: Qt.lighter(color)
                anchors.left:parent.left
                anchors.leftMargin: 20
                anchors.top: parent.top
                anchors.topMargin: 20

                // 3)元素的左侧与父元素的右侧对齐。
                Rectangle {
                    id : red
                    width: 48
                    height: 48
                    color: "red"
                    border.color: Qt.lighter(color)
                    anchors.left:parent.right
                }
            }

            // (4)居中对齐的元素。black1在父级上水平居中。black2也是水平居中,但在black1,其顶部与black1底线
            Rectangle {
                id : black1
                width: 100
                height: 100
                color: "black"
                y: 20
                anchors.horizontalCenter: parent.horizontalCenter
            }
             // (5)元素以父元素为中心
            Rectangle {
                id : black2
                width: 200
                height: 200
                color: "black"
                anchors.top: black1.bottom
                anchors.topMargin: 10
                anchors.horizontalCenter: parent.horizontalCenter

                // (5)元素以父元素为中心
                Rectangle {
                    id : lightblue
                    width: 100
                    height: 100
                    color: "lightblue"
                    anchors.centerIn: parent

                    // (6)使用水平和垂直中心线,元素在父元素上以左偏移量居中
                    Rectangle {
                        id : red1
                        width: 50
                        height: 50
                        color: "red"
                        anchors.horizontalCenter: parent.horizontalCenter
                        anchors.horizontalCenterOffset: -12
                        anchors.verticalCenter: parent.verticalCenter
                    }
                }
            }
        }
    }
}

QML语法解释

这段代码是一个使用QtQuick编写的QML界面布局。下面是每个元素的功能解释:

  1. green:一个绿色的矩形,并且与父元素完全填充,并设置了外边距为20。

  2. blue:一个蓝色的矩形,与其父元素完全填充,设置了外边距为20。

  3. purple:一个紫色的矩形,它与父元素的左侧对齐,上边距为20。

  4. red:一个红色的矩形,它与父元素的右侧对齐。

  5. black1:一个黑色的矩形,水平居中于父元素。

  6. black2:一个黑色的矩形,水平居中于父元素,并与上一个黑色矩形的底部对齐。

  7. lightblue:一个浅蓝色的矩形,完全居中于父元素。

  8. red1:一个红色的矩形,与父元素的水平中心对齐,并左偏移量为-12,与父元素的垂直中心对齐。

这段代码通过设置不同的锚点属性来实现布局的不同效果,例如填充父元素、与父元素对齐、居中对齐等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/763958.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三季度上市,比亚迪海豹DM-i内饰官图发布,延续海洋风格

据报道,比亚迪海洋网旗下全新车型海豹 DM-i今日发布了内饰官方图片。新车内部采用了独特的“海洋美学”设计理念,并体现了海洋网最新一代内饰风格。消息称,这款车型将于第三季度上市,定位为中大型混合动力轿车。 值得注意的是&…

【QT】元对象系统学习笔记(一)

QT元对象系统 01、元对象系统1.1、 元对象运行原则1.2、 Q_OBJECT宏1.3、 Qt Creator启动元对象系统1.4、 命令行启动元对象(不常用) 02、反射机制2.1、 Qt实现反射机制2.2、 反射机制获取类中成员函数的信息2.1.1、 QMetaMethon类2.1.2、QMetaObject类 …

【程序员必须掌握哪些算法?】

一个程序员一生中可能会邂逅各种各样的算法,但总有那么几种,是作为一个程序员一定会遇见且大概率需要掌握的算法。今天就来聊聊这些十分重要的“必抓!”算法吧~ 常见算法介绍 本文所介绍的排序算法均以升序为例。 文章目录 常见算法介绍一 …

【解决】mysql卸载之后安装不同的版本导致mysqld无法启动

解决mysql不同版本之间数据的冲突 一. 背景二. 出现的问题三. 问题的原因四. 解决方式 一. 背景 说起来也是个巧合,在我安装mysql5.7版本的时候,看走眼了,安装成mysql8.0版本的了。于是乎,我当时觉得8.0,嗯&#xff0…

机械臂多任务逆运动学(优先级同等和存在优先级)

我们经常使用微分运动学来计算机器人的逆运动学,对于单个任务的机械臂的逆运动学使用的是梯度投影法: 冗余机械臂求解逆运动学解——梯度投影法 但是对于多任务的逆运动学在一般的机器人学里面很少有提及,最近看到了相关的论述,…

IP基础知识总结

IP他负责的是把IP数据包在不同网络间传送,这是网络设计相关的,与操作系统没有关系。所以这部分知识,不是网络的重点。IP和路由交换技术联系紧密。但是要作为基本知识点记住。 一、基本概念 网络层作用:实现主机与主机之间通信。 …

MySQL数据库操作篇4(内置函数连接查询子查询)

MySQL除了提供一些聚合函数供我们使用,同时还提供了很多的内置扩展函数,这些函数有的是进行日期处理的,有的是进行字符串处理的,有的则是进行数值处理,以及其它的种种函数,这些函数可以帮助我们对数据进行加…

创建/查看/编辑文本文件

创建/查看/编辑文本文件 将输出重定向到文件和程序 标准 输入/输出/错误 运行的程序需要从某个位置读取输入并将输出写入某位置。从shell提示符运行的命令通常会从键盘读取输入,并将输出发送到其终端窗口。 进程通过使用文件描述符的通道编号获取输出并发送输出。…

红队打靶:billu_b0x打靶思路详解(vulnhub)

目录 写在开头 第一步:主机发现和端口扫描 第二步:Web渗透 第三步:利用文件包含进行代码审计 第四步:图片马上传与反弹shell 第五步:敏感文件提权 总结与思考 写在开头 我的博客等级终于到三级了,…

Python接口自动化搭建过程,含request请求封装

开篇碎碎念 接口测试自动化好处 显而易见的好处就是解放双手😀。 可以在短时间内自动执行大量的测试用例通过参数化和数据驱动的方式进行测试数据的变化,提高测试覆盖范围快速反馈测试执行结果和报告支持持续集成和持续交付的流程 使用Requestspytes…

Attention Is All Your Need

q,k,v是一个东西(自注意力) 由于位置编码通过sin和cos得到,在+-1之间抖动,因此为了与embedding相加scale匹配,所以embedding除以根号dk 注意力机制:注意力函数 quary(不同的q) 和 k 的相似度决定了value对应的权重(不同的权重)相加得到 (不同的)输出 英文积累…

宠物赛道又出爆品!TikTok播放破千万!

在欧美国家,养宠的风潮已经持续百年。美国作为全国第一大的宠物市场,其家庭的养宠率高达70%。有关数据显示,美国目前26-41岁人群比例占比最大,已达到32%,42-57岁人群比例下降到24%。 养宠人群逐渐呈现年轻化&#xff0…

参数名的映射,小心使用strict=False

从vgg16-397923af.pth里读取的数值应该和加载预训练模型后model.load_state_dict参数一致。 而我的不一致! 原因:在载入参数到模型键值的不匹配,所以使用了strictFalse。 解决办法: 进行参数名的映射,将不匹配的参数名…

不看不知,道,一键ai绘画软件也能生成这么好看的图片

结构: 前阵子,我朋友发了几张男生的照片在朋友圈,我还以为是她脱单了,赶紧给她送上了祝福。 她收到我的祝福后,笑嘻嘻地跟我解释说:“那几张图是我用AI绘画软件生成的,是不是很看起来很真呀&a…

一款剧情特别优秀的ARPG 游戏《FC魔神英雄传》

文章目录 介绍游戏发行游戏玩法 游戏剧情详细介绍游戏开始阶段剧情任务汇总:草原阶段冰川阶段海边阶段丛林阶段沙漠阶段湖泊阶段草原2阶段海边2阶段冰川2阶段山脉阶段 世界地图汇总 道具系统装备系统战斗系统战斗规则魔法技能魔法学习方式 游戏优点游戏缺点该游戏值…

接口测试 使用 rest-assured 进行接口测试

目录 前言 正文 1.HTTP 状态码 2.节点值验证 3.格式化打印 json 4.参数化 5.响应时间 6.JSON Schema Validation 前言 使用Rest-Assured进行接口测试是一个很好的选择。Rest-Assured是一个基于Java的开源库,专门用于简化和增强RESTful接口的测试。它提供了…

我在VScode学Java类与对象(Java的类与对象、this关键字)第一辑

我的个人博客主页:如果’真能转义1️⃣说1️⃣的博客主页 关于Java基本语法学习---->可以参考我的这篇博客:《我在VScode学Java》 关于我在VScode学Java(Java方法method) 类是描述了一组有相同特性(属性&#xff09…

python_selenuim获取csdn新星赛道选手所在城市用echarts地图显示

文章目录 ⭐前言⭐selenuim获取新星赛道选手主页💖 获取参赛选手主页思路分析💖 获取参赛选手ip属地思路分析💖 echarts可视化展示 ⭐结束 ⭐前言 大家好,我是yma16,本文分享python_selenuim获取csdn新星赛道选手所在…

Requests —— Requests模块获取响应内容

Requests模块获取响应内容 响应包括响应行、响应头、响应正文内容,这些返回的响应信息都可以通过Requests模块获取。这些 获取到的响应内容也是接口测试执行得到的实际结果。 获取响应行 获取响应头 获取其它响应信息 代码示例: # 导入requests模块…

特征工程和多项式回归

特征工程的定义 特征工程(Feature Engineering)特征工程是将原始数据转化成更好的表达问题本质的特征的过程,使得将这些特征运用到预测模型中能提高对不可见数据的模型预测精度。 特征工程简单讲就是发现对因变量y有明显影响作用的特征&#…