Qt 5.4 QML 布局

发布于 2024-09-08 01:41:14 字数 1353 浏览 14 评论 0

使用 anchors 进行界面布局

anchors 提供了一种方式,让你可以通过指定一个元素与其它元素的关系来确定元素在界面中的位置。

每个 item 都有 7 条不可见的锚线:左(left)、水平中心(horizontalCenter)、上(top)、下(bottom)、右(right)、垂直中心(verticalCenter)、基线(baseline)。

基线是用于定位文本的,你可以想象一行文字端坐基线的情景。对于没有文本的图元,baseline 和 top 一致。

使用 anchors 布局时,除了对齐锚线,还可以在指定上(topMargin)、下(bottomMargin)、左(leftMargin)、右(rightMargin)四个边的留白。

Item 的 anchors 属性,除了上面介绍的,还有一些,如 centerIn 表示将一个 item 居中放置到另一个 item 内; fill 表示充满某个 item ……更多请参考 Item 类的文档。

centerIn 和 fill 的示例

import QtQuick 2.0

Rectangle {
    width: 300;
    height: 200;

    Rectangle {
        color: "blue";
        anchors.fill: parent;	//对父类对象进行完全填充
        border.width: 6;	//本矩形(rectangle)边距宽度
        border.color: "#888888";//边距颜色

        Rectangle {
            anchors.centerIn: parent;//处于父类对象居中
            width: 120;				
            height: 120;
            radius: 8;		//圆角,半径 8 像素
            border.width: 2;		
            border.color: "black";
            antialiasing: true;	//反锯齿
            color: "red";
        }
    }
}

补充说明

我们从对齐布局中看到两种方式,一种是使用属性绑定如 width: parent.width ,另一种是使用

anchors { left:parent.left; right:parent.right }

根据文档说明,尽量使用后者,因为效率可能会比前者高点。对于父元素为 Row 或 Column 的话,只能使用前者来对齐。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

就像说晚安

暂无简介

0 文章
0 评论
21 人气
更多

推荐作者

安静被遗忘

文章 0 评论 0

喔爱吃橙子

文章 0 评论 0

草莓味的萝莉

文章 0 评论 0

梦里兽

文章 0 评论 0

mb_83J3Cyxa

文章 0 评论 0

时间海

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文