Sur cette page

QQmlSA Namespace

Fournit des outils pour l'analyse statique des programmes QML. Plus d'informations...

En-tête : #include <QQmlSA>
CMake : find_package(Qt6 REQUIRED COMPONENTS QmlCompiler)
target_link_libraries(mytarget PRIVATE Qt6::QmlCompiler)

Classes

class Binding
class Element
class ElementPass
class FixSuggestion
class GenericPass
class LintPlugin
class LoggerWarningId
class Method
class PassManager
class Property
class PropertyPass
class SourceLocation

Types de classes

enum class AccessSemantics { Reference, Value, None, Sequence }
enum class BindingType { Invalid, BoolLiteral, NumberLiteral, StringLiteral, RegExpLiteral, …, GroupProperty }
enum class MethodType { Signal, Slot, Method, StaticMethod }
enum class ScopeType { JSFunctionScope, JSLexicalScope, QMLScope, GroupedPropertyScope, AttachedPropertyScope, …, SignalHandlerFunctionScope }
enum class ScriptBindingKind { Invalid, PropertyBinding, SignalHandler, ChangeHandler }

Description détaillée

Classes

Classe Binding

Représente une seule liaison de propriété QML pour un type spécifique. Plus d'informations...

classe Element

Représente un type QML. 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 suggestion de correction d'un problème dans le code source. Plus...

classe GenericPass

Classe de base pour les passes d'analyse statique. Plus...

classe LintPlugin

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

Classe LoggerWarningId

Une enveloppe autour d'une chaîne littérale pour identifier de manière unique les catégories d'avertissement dans le cadre QQmlSA. Plus...

classe Method

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

classe PassManager

Peut analyser un élément et ses enfants avec des passes d'analyse statique. En savoir plus...

classe Property

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

classe PropertyPass

Classe de base pour toutes les passes 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 des types

enum class QQmlSA::AccessSemantics

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

ConstanteValeurDescription du type
QQmlSA::AccessSemantics::Reference0Le type se comporte comme un type Objet
QQmlSA::AccessSemantics::Value1Le type se comporte comme un type Valeur
QQmlSA::AccessSemantics::None2Le type est un espace de noms ou est invalide
QQmlSA::AccessSemantics::Sequence3Le type se comporte comme un type Séquence

Voir aussi Le système de types QML.

enum class QQmlSA::BindingType

Décrit le type de QQmlSA::Binding.

ConstanteValeurDescription de la constante
QQmlSA::BindingType::Invalid0Il n'y a pas de liaison
QQmlSA::BindingType::BoolLiteral1La liaison est un littéral bool
QQmlSA::BindingType::NumberLiteral2La liaison est un nombre littéral
QQmlSA::BindingType::StringLiteral3La liaison est un littéral de chaîne de caractères
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 qui peut 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 attaché
QQmlSA::BindingType::GroupProperty13Le binding est une propriété groupée

enum class QQmlSA::MethodType

Décrit le type de QQmlSA::Method.

ConstanteValeurDescription de la méthode
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 Q_INVOKABLE
QQmlSA::MethodType::StaticMethod3La méthode est une méthode statique Q_INVOKABLE

enum class QQmlSA::ScopeType

Décrit le type de champ d'application QML.

ConstanteValeurDescription du champ d'application
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::QMLScope2Le champ d'application 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::AttachedPropertyScope4Le champ d'application est une propriété attachée:
Item {
    Component.onCompleted: console.log("Hello")
    ^^^^^^^^^
             \ Scope of attached property Component
}
QQmlSA::ScopeType::EnumScope5Le champ d'application est une énumération QML :
enum E { <- begin
    A,
    B,
    C
} <- end
QQmlSA::ScopeType::BindingFunctionScope (since Qt 6.11)6Le champ d'application représente l'expression d'une liaison :
Item {
    width: <- begin 10 +
        2 *parent.width <- end
}

Avant Qt 6.11, ceci é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 signaux :
Timer {
    onTriggered: <- begin console.log("hi") <- end
}

Avant la version 6.11 de Qt, ce champ d'application était signalé comme étant un JSFunctionScope.

Chaque entrée est accompagnée d'un exemple de portée du type correspondant dans le code QML.

enum class QQmlSA::ScriptBindingKind

Décrit le type de script d'un QQmlSA::Binding de type Script.

ConstanteValeurDescription du type de script
QQmlSA::ScriptBindingKind::Invalid0Le script de la liaison n'est pas valide
QQmlSA::ScriptBindingKind::PropertyBinding1La liaison est liée à une propriété
QQmlSA::ScriptBindingKind::SignalHandler2Le lien est un gestionnaire de signal
QQmlSA::ScriptBindingKind::ChangeHandler3La liaison est un gestionnaire de changement

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