En esta página

SafeArea QML Type

Proporciona acceso a las propiedades del área segura del elemento o ventana. Más...

Import Statement: import QtQuick
Since: Qt 6.9

Propiedades

Descripción detallada

El tipo adjunto SafeArea proporciona información sobre las áreas de un Elemento o Ventana en las que el contenido puede correr el riesgo de ser solapado por otros elementos de la interfaz de usuario, como las barras de título del sistema o las barras de estado.

Esta información puede utilizarse para distribuir los elementos hijos de un elemento dentro del área segura del elemento, permitiendo al mismo tiempo que un color o efecto de fondo abarque todo el elemento.

Rectangle {
    id: parentItem
    gradient: Gradient.SunnyMorning
    anchors.fill: parent

    Rectangle {
        id: childItem
        gradient: Gradient.DustyGrass

        anchors {
            fill: parent

            topMargin: parent.SafeArea.margins.top
            leftMargin: parent.SafeArea.margins.left
            rightMargin: parent.SafeArea.margins.right
            bottomMargin: parent.SafeArea.margins.bottom
        }
    }
}

Los márgenes del área segura son relativos al elemento al que se adjuntan. Si un elemento ancestro ha colocado a sus hijos dentro de los márgenes del área segura, cualquier elemento descendiente con su propia SafeArea adjunta tendrá márgenes cero, a menos que se haya añadido additional margins.

Nota: Un elemento no debe posicionarse en función de su propia área segura, ya que se produciría un bucle de encuadernación.

Márgenes adicionales

A veces, el diseño de un elemento incluye elementos secundarios que se solapan entre sí, por ejemplo, en una ventana con una cabecera semitransparente, en la que el resto del contenido de la ventana fluye por debajo de la cabecera.

En este caso, el elemento puede reflejar la posición y el tamaño de la cabecera a los elementos hijos a través de la propiedad additionalMargins.

Los márgenes adicionales se añadirán a cualquier margen que el elemento ya recoja de su jerarquía padre (incluidos los márgenes del sistema, como las barras de título o de estado), y los elementos hijos reflejarán los márgenes combinados en consecuencia.

Rectangle {
    id: parentItem
    gradient: Gradient.SunnyMorning
    anchors.fill: parent

    Rectangle {
        id: headerItem
        width: parent.width
        height: 80
        gradient: Gradient.WinterNeva
        z: 1
    }

    Item {
        id: contentItem
        anchors.fill: parent
        z: 0

        SafeArea.additionalMargins.top: headerItem.height
                                      - parent.SafeArea.margins.top

        Rectangle {
            id: childItem
            gradient: Gradient.DustyGrass
            anchors {
                fill: parent

                topMargin: parent.SafeArea.margins.top
                leftMargin: parent.SafeArea.margins.left
                rightMargin: parent.SafeArea.margins.right
                bottomMargin: parent.SafeArea.margins.bottom
            }
        }
    }
}

En el ejemplo anterior, el elemento de cabecera está situado en la parte superior de la ventana, lo que podría solaparse con los márgenes de área segura existentes procedentes de la ventana. Para tener esto en cuenta, sólo añadimos márgenes adicionales para la parte de la cabecera que se extiende más allá de los márgenes de área segura de la ventana.

Nota: En este ejemplo el elemento de cabecera no se solapa con el elemento hijo, ya que el objetivo es mostrar cómo se posicionan y redimensionan los elementos en respuesta a los cambios en los márgenes del área segura.

Controles

Aplicar márgenes de área segura a un Control es sencillo, ya que Control ya ofrece propiedades para añadir relleno al elemento de contenido del control.

Control {
    anchors.fill: parent

    background: Rectangle {
        gradient: Gradient.SunnyMorning
    }

    topPadding: SafeArea.margins.top
    leftPadding: SafeArea.margins.left
    rightPadding: SafeArea.margins.right
    bottomPadding: SafeArea.margins.bottom

    contentItem: Rectangle {
        gradient: Gradient.DustyGrass
    }
}

Documentación de Propiedades

additionalMargins group

additionalMargins.bottom : real

additionalMargins.left : real

additionalMargins.right : real

additionalMargins.top : real

Esta propiedad contiene los márgenes de área segura adicionales para el elemento.

Los márgenes de área segura adicionales no pueden ser negativos, y se fijarán automáticamente en 0.

Los márgenes de área segura resultantes del elemento son la suma de los márgenes heredados (por ejemplo de las barras de título o de estado) y los márgenes adicionales aplicados al elemento.

Véase también margins.

margins group

margins.bottom : real [read-only]

margins.left : real [read-only]

margins.right : real [read-only]

margins.top : real [read-only]

Esta propiedad contiene los márgenes del área segura, relativos al elemento adjunto.

Véase también additionalMargins.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.