Sur cette page

ApplicationWindow QML Type

Fenêtre de niveau supérieur personnalisée, prenant en charge un en-tête et un pied de page. En savoir plus…

Import Statement: import QtQuick.Controls
Inherits:

Window

Propriétés

Propriétés associées

Description détaillée

ApplicationWindow est une classe d'Window qui facilite l'ajout d'éléments de type menu bar, header et footer à la fenêtre.

Vous pouvez déclarer ApplicationWindow comme élément racine de votre application et l'exécuter à l'aide de ` QQmlApplicationEngine`. Vous pouvez ainsi contrôler les propriétés, l'apparence et la mise en page de la fenêtre depuis QML.

Disposition de la fenêtre présentant la barre de menus, l'en-tête, la zone de contenu et le pied de page

import QtQuick.Controls

ApplicationWindow {
    visible: true

    menuBar: MenuBar {
        // ...
    }

    header: ToolBar {
        // ...
    }

    footer: TabBar {
        // ...
    }

    StackView {
        anchors.fill: parent
    }
}

Remarque : par défaut, une ApplicationWindow n’est pas visible.

Propriétés associées à ApplicationWindow

En raison du fonctionnement de la portée (Scope) et de la résolution des noms (Naming Resolution) en QML, il est possible de référencer l’ id de l’élément racine de l’application n’importe où dans ses objets QML enfants. Même si cette approche convient à de nombreuses applications et cas d’utilisation, elle peut s’avérer inacceptable pour un composant QML générique, car elle crée une dépendance vis-à-vis de l’environnement environnant.

ApplicationWindow fournit un ensemble de propriétés associées qui permettent d’accéder à la fenêtre et à ses composants à partir d’endroits où aucun accès direct à la fenêtre n’est disponible, sans créer de dépendance vis-à-vis d’une id de fenêtre particulière. Un composant QML utilisant les propriétés associées d’ApplicationWindow fonctionne dans n’importe quelle fenêtre, quelle que soit son id.

Zones de sécurité

Depuis Qt 6.9, ApplicationWindow ajoute automatiquement un remplissage à l’ contentItem pour toute safe area margins signalée par la fenêtre. Cela garantit que l’ contentItem reste à l’intérieur de la zone de sécurité de la fenêtre, tandis que l’élément d’arrière-plan couvre l’intégralité de la fenêtre.

Si vous gérez manuellement les marges de la zone de sécurité dans l’ contentItem de la fenêtre, vous pouvez remplacer la valeur par défaut via les propriétés ` topPadding`, ` leftPadding`, ` rightPadding ` et ` bottomPadding ` :

ApplicationWindow {
    // Remove automatic safe area padding
    topPadding: 0

    Flickable {
        // Inset content by safe area margin
        topMargin: SafeArea.margins.top
    }
}

Les propriétés header, footer et menuBar ne bénéficient d’aucun remplissage automatique pour les marges de la zone de sécurité. Toutefois, selon le style utilisé, celui-ci peut prendre en compte les zones de sécurité dans sa mise en œuvre des propriétés ToolBar, TabBar et MenuBar.

Voir également Personnalisation de ApplicationWindow, Overlay, Page, Contrôles conteneurs et Gestion du focus dans Qt Quick Controls.

Documentation sur les propriétés

activeFocusControl : Control [read-only]

Cette propriété contient le contrôle qui a actuellement le focus actif, ou ` null ` s'il n'y a aucun contrôle ayant le focus actif.

La différence entre ` Window::activeFocusItem ` et `ApplicationWindow::activeFocusControl` réside dans le fait que le premier peut pointer vers un élément constitutif d’un contrôle, tandis que le second pointe vers le contrôle qui l’englobe. Par exemple, lorsque ` SpinBox ` a le focus, `activeFocusItem` pointe vers l’éditeur et `activeFocusControl` vers l’ SpinBox e lui-même.

Voir également Window::activeFocusItem.

background : Item

Cette propriété contient l'élément d'arrière-plan.

L'élément d'arrière-plan est superposé sous l'élément « content item », mais au-dessus de l'élément « background color » de la fenêtre.

L'élément d'arrière-plan est utile pour les images et les dégradés, par exemple, mais la propriété color est préférable pour les couleurs unies, car elle ne nécessite pas la création d'un élément.

Remarque : si aucune taille n’est explicitement spécifiée pour l’élément d’arrière-plan, celui-ci adopte automatiquement la taille du contrôle. Dans la plupart des cas, il n’est pas nécessaire de spécifier la largeur ou la hauteur d’un élément d’arrière-plan.

Voir également Personnalisation de ApplicationWindow, contentItem, header et footer.

bottomPadding : real [since 6.9]

Cette propriété définit le remplissage inférieur de l'élément de contenu de la fenêtre. À moins d'être explicitement définie, sa valeur correspond à l'safe area margins de la fenêtre.

Cette propriété a été introduite dans Qt 6.9.

Voir également « topPadding », « leftPadding » et « rightPadding ».

contentData : list<QtObject> [default]

Cette propriété par défaut contient la liste de tous les objets déclarés comme enfants de la fenêtre.

La propriété « data » vous permet de mélanger librement des enfants visuels, des ressources et d’autres fenêtres dans une « ApplicationWindow ».

Si vous attribuez un élément à la liste « contentData », celui-ci devient un enfant de l’ contentItem de la fenêtre, de sorte qu’il apparaît à l’intérieur de celle-ci. Le parent de cet élément sera l’ contentItem de la fenêtre.

Il n’est généralement pas nécessaire de faire référence à la propriété `contentData`, car il s’agit de la propriété par défaut de ` ApplicationWindow ` et que tous les éléments enfants y sont donc automatiquement affectés.

Voir également contentItem.

contentItem : Item [read-only]

Cette propriété contient l'élément de contenu de la fenêtre.

L'élément de contenu est superposé à l'élément « background » et situé sous les éléments « menuBar », « header » et « footer ».

Depuis Qt 6.9, ` ApplicationWindow ` ajoute automatiquement un remplissage à l’élément `contentItem` pour tout ` safe area margins ` signalé par la fenêtre. Pour remplacer ce remplissage, utilisez les propriétés de remplissage individuelles.

Voir également background, menuBar, header, footer, topPadding, bottomPadding, leftPadding et rightPadding.

font : font

Cette propriété contient la police actuellement définie pour la fenêtre.

La police par défaut dépend de l’environnement système. QGuiApplication gère une police système/thème qui sert de valeur par défaut pour toutes les fenêtres d’application. Vous pouvez également définir la police par défaut des fenêtres en transmettant une police personnalisée à la fonction QGuiApplication::setFont(), avant de charger tout code QML. Enfin, la police est comparée à la base de données de polices de Qt afin de trouver la meilleure correspondance.

ApplicationWindow propage les propriétés de police explicites aux contrôles enfants. Si vous modifiez une propriété spécifique de la police de la fenêtre, cette propriété est propagée à tous les contrôles enfants de la fenêtre, remplaçant ainsi les valeurs par défaut du système pour cette propriété.

Voir également Control::font.

Cette propriété définit l'élément de pied de page de la fenêtre. L'élément de pied de page est positionné en bas de la fenêtre et redimensionné pour s'adapter à la largeur de celle-ci. La valeur par défaut est null.

ApplicationWindow {
    footer: ToolBar {
        // ...
    }
}

Remarque : l'attribution d'une valeur « ToolBar », « TabBar » ou « DialogButtonBox » au pied de page de la fenêtre définit automatiquement la propriété correspondante « ToolBar::position », « TabBar::position » ou « DialogButtonBox::position » sur « Footer ».

Voir également menuBar, header et Page::footer.

header : Item

Cette propriété définit l'élément d'en-tête de la fenêtre. Cet élément est positionné en haut de la fenêtre, sous la barre de menus, et sa largeur s'adapte à celle de la fenêtre. La valeur par défaut est null.

ApplicationWindow {
    header: TabBar {
        // ...
    }
}

Remarque : l’attribution d’une valeur « ToolBar », « TabBar » ou « DialogButtonBox » à l’en-tête de la fenêtre définit automatiquement la propriété correspondante « ToolBar::position », « TabBar::position » ou « DialogButtonBox::position » sur « Header ».

Voir également menuBar, footer et Page::header.

leftPadding : real [since 6.9]

Cette propriété définit le remplissage à gauche de l'élément de contenu de la fenêtre. Sauf indication contraire, sa valeur correspond à l'safe area margins de la fenêtre.

Cette propriété a été introduite dans Qt 6.9.

Voir également bottomPadding, topPadding et rightPadding.

locale : Locale

Cette propriété contient les paramètres régionaux de la fenêtre.

Les paramètres régionaux par défaut dépendent de l'environnement système. Vous pouvez définir les paramètres régionaux par défaut en appelant la fonction ` QLocale::setDefault()` avant de charger tout code QML.

ApplicationWindow Propage la locale aux contrôles enfants. Si vous modifiez la locale de la fenêtre, celle-ci est propagée à tous les contrôles enfants de la fenêtre, remplaçant ainsi la locale par défaut du système.

Voir également Control::locale.

Cette propriété contient la barre de menus de la fenêtre. La barre de menus est positionnée en haut de la fenêtre, au-dessus de l'en-tête, et sa taille s'adapte à la largeur de la fenêtre. La valeur par défaut est « null ».

ApplicationWindow {
    menuBar: MenuBar {
        // ...
    }
}

Cette propriété a été introduite dans QtQuick.Controls 2.3 (Qt 5.10).

Voir également header, footer et MenuBar.

rightPadding : real [since 6.9]

Cette propriété définit l'espacement à droite de l'élément de contenu de la fenêtre. À moins d'être explicitement définie, sa valeur correspond à la propriété « safe area margins » de la fenêtre.

Cette propriété a été introduite dans Qt 6.9.

Voir également bottomPadding, leftPadding et topPadding.

topPadding : real [since 6.9]

Cette propriété définit le remplissage supérieur de l'élément de contenu de la fenêtre. À moins d'être explicitement définie, sa valeur correspond à la propriété « safe area margins » de la fenêtre.

Cette propriété a été introduite dans Qt 6.9.

Voir également bottomPadding, leftPadding et rightPadding.

Documentation sur les propriétés associées

ApplicationWindow.activeFocusControl : Control [read-only attached]

Cette propriété associée contient le contrôle qui a actuellement le focus, ou la valeur « null » s’il n’y a aucun contrôle ayant le focus. Cette propriété peut être associée à n’importe quel élément. Sa valeur est « null » si l’élément ne se trouve pas dans une fenêtre ou si la fenêtre n’a pas le focus.

Voir également « Window::activeFocusItem » et « Attached ApplicationWindow Properties ».

ApplicationWindow.contentItem : Item [read-only attached]

Cette propriété associée contient l'élément de contenu de la fenêtre. Elle peut être associée à n'importe quel élément. Sa valeur est « null » si l'élément ne se trouve pas dans une « ApplicationWindow ».

Voir également « Attached ApplicationWindow Properties ».

Cette propriété associée contient l'élément de pied de page de la fenêtre. Elle peut être associée à n'importe quel élément. Sa valeur est « null » si l'élément ne se trouve pas dans une « ApplicationWindow » ou si la fenêtre ne comporte pas d'élément de pied de page.

Voir également « Attached ApplicationWindow Properties ».

ApplicationWindow.header : Item [read-only attached]

Cette propriété associée contient l'élément d'en-tête de la fenêtre. Elle peut être associée à n'importe quel élément. Sa valeur est « null » si l'élément ne fait pas partie d'un « ApplicationWindow » ou si la fenêtre ne comporte pas d'élément d'en-tête.

Voir également « Attached ApplicationWindow Properties ».

Cette propriété associée contient la barre de menu de la fenêtre. Elle peut être associée à n'importe quel élément. Sa valeur est « null » si l'élément ne se trouve pas dans une « ApplicationWindow » ou si la fenêtre ne dispose pas de barre de menu.

Cette propriété a été introduite dans QtQuick.Controls 2.3 (Qt 5.10).

Voir également Attached ApplicationWindow Properties.

ApplicationWindow.window : ApplicationWindow [read-only attached]

Cette propriété associée contient la fenêtre de l'application. Elle peut être associée à n'importe quel élément. Sa valeur est « null » si l'élément ne se trouve pas dans une « ApplicationWindow ».

Voir également « Attached ApplicationWindow Properties ».

© 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.