Slint Kit Documentation

Données virtualisées

KitVirtualTextView

Vue de document virtualisée avec édition native de la ligne sélectionnée.

Vue de document virtualisée avec édition native de la ligne sélectionnée.
Capture native du même exemple, moteur Skia.

Fournissez lines, generation et active-index, puis choisissez TextViewAccess.read-only ou .edit-line. En mode édition, liez line-draft et traitez select-line, commit-line et copy-requested.

Les callbacks conservent le token de ligne et la génération, même après un changement d’ordre. La vue édite une ligne sélectionnée ; utilisez KitTextArea pour modifier un tampon multiligne complet.

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 { KitTheme, KitThemes, KitVirtualTextView } from "@kit/kit.slint";

export component Example inherits Window {
    title: "KitVirtualTextView — exemple";
    preferred-width: 620px;
    preferred-height: 360px;
    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: "Vue de texte virtualisée"; color: root.theme.text-primary; font-size: 20px * root.theme.text-scale; font-weight: 600; }
        KitVirtualTextView { label: "Document texte"; theme: root.theme; height: 230px; generation: 1; lines: [{ token: 101, number: 1, text: "# Notes de terrain", selected: false }, { token: 205, number: 2, text: "Un espace partagé pour les observations.", selected: true }, { token: 309, number: 3, text: "Préservez les identités lorsque les lignes changent de position.", selected: false }, { token: 413, number: 4, text: "Utilisez l’édition native pour les lignes sélectionnées.", selected: false }]; }
        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
lines [TextLine] in
generation int in
active-index int in
access TextViewAccess in
line-draft string in-out
error string in
label string in
scroll-y 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 NavigationStep next, previous, first, last, page-next, page-previous
struct TextLine token: int, number: int, text: string, selected: bool
enum TextViewAccess read-only, edit-line

Signaux

Fonctions

Voir aussi