En esta página

QQmlSA Namespace

Proporciona herramientas para el análisis estático de programas QML. Más...

Cabecera: #include <QQmlSA>
CMake: find_package(Qt6 REQUIRED COMPONENTS QmlCompiler)
target_link_libraries(mytarget PRIVATE Qt6::QmlCompiler)

Clases

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

Tipos

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 }

Descripción detallada

Clases

Clase Binding

Representa una única propiedad QML vinculante para un tipo específico. Más...

clase Elemento

Representa un tipo QML. Más...

clase ElementPass

Clase base para todos los pases de análisis estático de elementos. Más...

clase FixSuggestion

Representa una sugerencia de solución para un problema en el código fuente. Más...

clase GenericPass

La clase base para los pases de análisis estáticos. Más...

clase LintPlugin

Clase base para todos los plugins de análisis estático. Más...

clase LoggerWarningId

Una envoltura alrededor de una cadena literal para identificar de forma única las categorías de advertencia en el marco QQmlSA. Más...

clase Method

Representa un método QML. Más información...

clase PassManager

Puede analizar un elemento y sus hijos con pases de análisis estáticos. Más...

clase Property

Representa una propiedad QML. Más...

clase PropertyPass

Clase base para todos los pases de análisis estáticos de propiedades. Más...

clase SourceLocation

Representa una ubicación o región en el código fuente. Más...

Documentación de la clase

enum class QQmlSA::AccessSemantics

Describe cómo se accede a un tipo y cómo se comparte.

ConstanteValorDescripción
QQmlSA::AccessSemantics::Reference0El tipo se comporta como un tipo Object
QQmlSA::AccessSemantics::Value1El tipo se comporta como un tipo Value
QQmlSA::AccessSemantics::None2El tipo es un espacio de nombres o no es válido
QQmlSA::AccessSemantics::Sequence3El tipo se comporta como un tipo Sequence

Véase también El sistema de tipos QML.

enum class QQmlSA::BindingType

Describe el tipo de un QQmlSA::Binding.

ConstanteValorDescripción
QQmlSA::BindingType::Invalid0No hay enlace
QQmlSA::BindingType::BoolLiteral1La vinculación es un literal bool
QQmlSA::BindingType::NumberLiteral2El enlace es un literal numérico
QQmlSA::BindingType::StringLiteral3El enlace es un literal de cadena
QQmlSA::BindingType::RegExpLiteral4El enlace es un literal de expresión regular
QQmlSA::BindingType::Null5El campo es un literal nulo
QQmlSA::BindingType::Translation6El enlace es una traducción
QQmlSA::BindingType::TranslationById7El enlace es una traducción por id
QQmlSA::BindingType::Script8La vinculación es un script regular
QQmlSA::BindingType::Object9La vinculación es un objeto
QQmlSA::BindingType::Interceptor10El binding es un interceptor que puede interceptar escrituras en propiedades como Behavior
QQmlSA::BindingType::ValueSource11La vinculación es una fuente de valores de propiedad
QQmlSA::BindingType::AttachedProperty12El binding es un objeto adjunto
QQmlSA::BindingType::GroupProperty13El binding es una propiedad agrupada

enum class QQmlSA::MethodType

Describe el tipo de un QQmlSA::Method.

ConstanteValorDescripción
QQmlSA::MethodType::Signal0El método es una señal
QQmlSA::MethodType::Slot1El método es una ranura
QQmlSA::MethodType::Method2El método es un método Q_INVOKABLE
QQmlSA::MethodType::StaticMethod3El método es un método estático Q_INVOKABLE

enum class QQmlSA::ScopeType

Describe el tipo de ámbito QML.

ConstanteValorDescripción
QQmlSA::ScopeType::JSFunctionScope0El ámbito es una función JavaScript:
Item {
    function f() : int { <- begin
        return 1
    } <- end
}
QQmlSA::ScopeType::JSLexicalScope1El ámbito es un ámbito léxico de JavaScript:
property int i: { <- begin
    let a = 1
    { <- begin
        console.log("hello")
    } <- end
    return a
} <- end
QQmlSA::ScopeType::QMLScope2El ámbito es un objeto QML:
Item { <- begin
    x: 50
} <- end
QQmlSA::ScopeType::GroupedPropertyScope3El ámbito es una propiedad agrupada:
Text {
    font { <- begin
        pixelSize: 12
        bold: true
    } <- end
}
QQmlSA::ScopeType::AttachedPropertyScope4El ámbito es una propiedad adjunta:
Item {
    Component.onCompleted: console.log("Hello")
    ^^^^^^^^^
             \ Scope of attached property Component
}
QQmlSA::ScopeType::EnumScope5El ámbito es un enum QML:
enum E { <- begin
    A,
    B,
    C
} <- end
QQmlSA::ScopeType::BindingFunctionScope (since Qt 6.11)6El ámbito representa la expresión de una vinculación:
Item {
    width: <- begin 10 +
        2 *parent.width <- end
}

Antes de Qt 6.11, se indicaba como JSFunctionScope

ConstanteValorDescripción
QQmlSA::ScopeType::SignalHandlerFunctionScope (since Qt 6.11)7El ámbito representa una función usada como manejador de señales:
Timer {
    onTriggered: <- begin console.log("hi") <- end
}

Antes de Qt 6.11, esto se informaba como JSFunctionScope

Cada entrada se muestra con un ejemplo de ámbito del tipo correspondiente en código QML.

enum class QQmlSA::ScriptBindingKind

Describe el tipo de escritura de un QQmlSA::Binding de tipo Script.

ConstanteValorDescripción
QQmlSA::ScriptBindingKind::Invalid0El enlace tiene un script no válido
QQmlSA::ScriptBindingKind::PropertyBinding1El enlace está vinculado a una propiedad
QQmlSA::ScriptBindingKind::SignalHandler2El enlace es un gestor de señales
QQmlSA::ScriptBindingKind::ChangeHandler3El enlace es un gestor de cambios

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