Sur cette page

QQmlSA Namespace

Fournit des outils d'analyse statique des programmes QML. En savoir plus...

En-tête : #include <qqmljsloggingutils.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS QmlCompiler)
target_link_libraries(mytarget PRIVATE Qt6::QmlCompiler)
Statut : Aperçu technologique

Cet espace de noms est en préversion technologique et est susceptible d'être modifié.

Classes

(technology preview) class Binding
(technology preview) class DocumentEdit
(technology preview) class Element
(technology preview) class ElementPass
(technology preview) class FixSuggestion
(technology preview) class GenericPass
(technology preview) class LintPlugin
(technology preview) class LoggerWarningId
(technology preview) class Method
(technology preview) class PassManager
(technology preview) class Property
(technology preview) class PropertyPass
(technology preview) class SourceLocation

Types

(technology preview) enum class AccessSemantics { Reference, Value, None, Sequence }
(technology preview) enum class BindingType { Invalid, BoolLiteral, NumberLiteral, StringLiteral, RegExpLiteral, …, GroupProperty }
(technology preview) enum class MethodType { Signal, Slot, Method, StaticMethod }
enum class ScopeType { JSFunctionScope, JSLexicalScope, QMLScope, GroupedPropertyScope, AttachedPropertyScope, …, SignalHandlerFunctionScope }
(technology preview) enum class ScriptBindingKind { Invalid, PropertyBinding, SignalHandler, ChangeHandler }
(technology preview) enum class WarningSeverity { Error, Warning, Info, Disable }

Description détaillée

Classes

classe Binding

Représente une liaison de propriété QML unique pour un type spécifique. En savoir plus…

classe DocumentEdit

Représente une modification unique apportée à un document. En savoir plus...

classe Element

Représente un type QML. En savoir plus...

classe ElementPass

Classe de base pour toutes les passes d'analyse statique sur les éléments. En savoir plus...

classe FixSuggestion

Représente une correction suggérée pour un problème dans le code source. En savoir plus...

classe GenericPass

Classe de base pour les passes d’analyse statique. En savoir plus...

classe LintPlugin

Classe de base pour tous les plugins d'analyse statique. En savoir plus...

classe LoggerWarningId

Un wrapper autour d’une chaîne littérale permettant d’identifier de manière unique les catégories d’avertissements dans le framework QQmlSA. En savoir plus...

classe Method

Représente une méthode QML. En savoir plus...

classe PassManager

Permet d’analyser un élément et ses enfants à l’aide de passes d’analyse statique. En savoir plus...

classe Property

Représente une propriété QML. En savoir plus...

classe PropertyPass

Classe de base pour tous les passages d’analyse statique sur les propriétés. En savoir plus...

classe SourceLocation

Représente un emplacement ou une région dans le code source. En savoir plus...

Documentation sur les types

[technology preview] enum class QQmlSA::AccessSemantics

Cette énumération est en phase de préversion technique et est susceptible d'être modifiée.

Décrit comment un type est accessible et partagé.

ConstanteValeurDescription
QQmlSA::AccessSemantics::Reference0Le type se comporte comme un type Object
QQmlSA::AccessSemantics::Value1Le type se comporte comme un type « Value »
QQmlSA::AccessSemantics::None2Le type est un espace de noms ou n'est pas valide
QQmlSA::AccessSemantics::Sequence3Le type se comporte comme un type « Séquence »

Voir aussi Le système de types QML.

[technology preview] enum class QQmlSA::BindingType

Cette énumération est en phase de préversion technique et est susceptible d'être modifiée.

Décrit le type d'une instance de ` QQmlSA::Binding`.

ConstanteValeurDescription
QQmlSA::BindingType::Invalid0Il n'y a pas de liaison
QQmlSA::BindingType::BoolLiteral1La liaison est un littéral booléen
QQmlSA::BindingType::NumberLiteral2La liaison est un littéral numérique
QQmlSA::BindingType::StringLiteral3La liaison est un littéral de chaîne
QQmlSA::BindingType::RegExpLiteral4La liaison est un littéral d'expression régulière
QQmlSA::BindingType::Null5La liaison est un littéral null
QQmlSA::BindingType::Translation6La liaison est une traduction
QQmlSA::BindingType::TranslationById7La liaison est une traduction par identifiant
QQmlSA::BindingType::Script8La liaison est un script régulier
QQmlSA::BindingType::Object9La liaison est un objet
QQmlSA::BindingType::Interceptor10La liaison est un intercepteur capable d'intercepter les écritures sur des propriétés telles que Behavior
QQmlSA::BindingType::ValueSource11La liaison est une source de valeur de propriété
QQmlSA::BindingType::AttachedProperty12La liaison est un objet associé
QQmlSA::BindingType::GroupProperty13La liaison est une propriété groupée

[technology preview] enum class QQmlSA::MethodType

Cette énumération est en phase de préversion technique et est susceptible d'être modifiée.

Décrit le type d'une entité « QQmlSA::Method ».

ConstanteValeurDescription
QQmlSA::MethodType::Signal0La méthode est un signal
QQmlSA::MethodType::Slot1La méthode est un slot
QQmlSA::MethodType::Method2La méthode est une méthode d'Q_INVOKABLE
QQmlSA::MethodType::StaticMethod3La méthode est une méthode statique d'Q_INVOKABLE

enum class QQmlSA::ScopeType

Décrit le type de portée QML.

ConstanteValeurDescription
QQmlSA::ScopeType::JSFunctionScope0La portée est une fonction JavaScript :
Item {
    function f() : int { <- begin
        return 1
    } <- end
}
QQmlSA::ScopeType::JSLexicalScope1La portée est une portée lexicale JavaScript :
property int i: { <- begin
    let a = 1
    { <- begin
        console.log("hello")
    } <- end
    return a
} <- end
QQmlSA::ScopeType::QMLScope2La portée est un objet QML :
Item { <- begin
    x: 50
} <- end
QQmlSA::ScopeType::GroupedPropertyScope3La portée est une propriété groupée:
Text {
    font { <- begin
        pixelSize: 12
        bold: true
    } <- end
}
QQmlSA::ScopeType::AttachedPropertyScope4La portée est une propriété attachée:
Item {
    Component.onCompleted: console.log("Hello")
    ^^^^^^^^^
             \ Scope of attached property Component
}
QQmlSA::ScopeType::EnumScope5La portée est une énumération QML :
enum E { <- begin
    A,
    B,
    C
} <- end
QQmlSA::ScopeType::BindingFunctionScope (since Qt 6.11)6La portée représente l'expression d'un lien :
Item {
    width: <- begin 10 +
        2 *parent.width <- end
}

Avant Qt 6.11, cela était signalé comme un JSFunctionScope

ConstanteValeurDescription
QQmlSA::ScopeType::SignalHandlerFunctionScope (since Qt 6.11)7La portée représente une fonction utilisée comme gestionnaire de signal :
Timer {
    onTriggered: <- begin console.log("hi") <- end
}

Avant Qt 6.11, cela était signalé comme un JSFunctionScope

Chaque entrée est illustrée par un exemple de portée du type correspondant dans le code QML.

[technology preview] enum class QQmlSA::ScriptBindingKind

Cette énumération est en phase de préversion technique et est susceptible d'être modifiée.

Décrit le type de script d'une instance de ` QQmlSA::Binding ` de type ` Script`.

ConstanteValeurDescription
QQmlSA::ScriptBindingKind::Invalid0La liaison contient un script non valide
QQmlSA::ScriptBindingKind::PropertyBinding1La liaison est associée à une propriété
QQmlSA::ScriptBindingKind::SignalHandler2Le lien est un gestionnaire de signal
QQmlSA::ScriptBindingKind::ChangeHandler3La liaison est un gestionnaire de changement

[technology preview] enum class QQmlSA::WarningSeverity

Cette énumération est en phase de préversion technique et est susceptible d'être modifiée.

Contient les niveaux de gravité possibles des messages de diagnostic pour une catégorie de journalisation.

ConstanteValeurDescription
QQmlSA::WarningSeverity::ErrorQtMsgType::QtCriticalMsgLes messages émis par cette catégorie de journalisation provoquent une erreur.
QQmlSA::WarningSeverity::WarningQtMsgType::QtWarningMsgLes messages émis par cette catégorie de journalisation sont des avertissements. Aucune erreur n'est générée, sauf si le paramètre MaxWarnings est défini et dépassé.
QQmlSA::WarningSeverity::InfoQtMsgType::QtInfoMsgLes messages émis par cette catégorie de journalisation sont purement informatifs et ne sont pas pris en compte dans le compteur MaxWarnings.
QQmlSA::WarningSeverity::Disable100Cette catégorie de journalisation n'émettra aucun message.

Cette énumération a été introduite dans Qt 6.12.

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