Slint Kit Documentation

Navigation

KitNotificationCenter

Liste de notifications avec aperçu, lecture et retrait par identité stable.

Liste de notifications avec aperçu, lecture et retrait par identité stable.
Capture native du même exemple, moteur Skia.

Fournissez des NotificationRow et acceptez activate, mark-read et dismiss-row par token et génération. Gardez le placement de la popup et les libellés mark-read-label et read-label stables pendant l’ouverture.

Le retrait bloque les actions puis émet la demande après un fondu de 150 ms, supprimé en mouvement réduit ; changer d’identité annule le retrait en attente. Les grandes collections utilisent une liste virtualisée et focus-token avec focus-request permet de retrouver un aperçu.

Exemple complet

Ce fichier Slint complet présente une composition visuelle et produit la capture ci-dessus. Les textes internes sans propriété de libellé conservent la langue par défaut du kit ; les dialogues système suivent la plateforme. Les états projetés et les signaux qui demandent une décision doivent être raccordés à l’hôte ; cet exemple isolé ne fournit pas ce contrôleur. Configurer le projet Rust, puis consulter l’application avec contrôleurs typés pour relier réellement édition, validation et sélection.

// Public label overrides localize this fixture; toolkit/host defaults keep their language.
// SPDX-License-Identifier: GPL-3.0-or-later
import { KitNotificationCenter, KitTheme, KitThemes } from "@kit/kit.slint";

export component Example inherits Window {
    title: "KitNotificationCenter — exemple";
    preferred-width: 620px;
    preferred-height: 440px;
    max-width: 100000px;
    max-height: 100000px;
    background: root.theme.canvas;
    in-out property <KitTheme> theme: KitThemes.light;
    in-out property <string> status;
    VerticalLayout {
        padding: 24px; spacing: 16px; alignment: start;
        Text { text: "Centre de notifications"; color: root.theme.text-primary; font-size: 20px * root.theme.text-scale; font-weight: 600; }
        KitNotificationCenter { dismiss-label: "Fermer"; empty-description: "Vous êtes à jour."; empty-label: "Aucune notification"; mark-read-label: "Marquer comme lu"; open-label: "Ouvrir l’aperçu"; read-label: "Lu"; theme: root.theme; height: 300px; rows: [{ item: { token: 11, generation: 1, label: "Jamie a partagé un document", description: "Les notes de recherche sont prêtes pour révision.", disabled: false }, read: false }, { item: { token: 23, generation: 1, label: "Votre exportation est prête", description: "Téléchargez la dernière archive du projet.", disabled: false }, read: true }]; }
        if root.status != "": Text { text: root.status; color: root.theme.text-secondary; font-size: 12px * root.theme.text-scale; wrap: word-wrap; }
    }
}

Télécharger cet exemple

API publique

Hérite de Rectangle. Les déclarations suivantes sont extraites des sources du composant. Les propriétés du parent restent disponibles ; les détails de gestion d’état sont décrits dans le guide des contrôleurs.

Propriétés

Nom Type Sens
theme KitTheme in
control-size ControlSize in
rows [NotificationRow] in
focus-token int in
focus-request int in
empty-label string in
empty-description string in
open-label string in
mark-read-label string in
read-label string in
dismiss-label string in
disabled bool in
content-height length out

Types et variantes

Les noms ci-dessous utilisent la syntaxe Slint. Les types Rust partagés se trouvent dans slint_kit ; les enums de présentation proviennent des types Rust générés par Slint.

Type Déclaration
enum ControlSize compact, medium, comfortable
struct NotificationRow item: OptionRow, read: bool
struct OptionRow token: int, generation: int, label: string, description: string, disabled: bool

Signaux

Voir aussi