QQmlSA Namespace

QML 프로그램에 대한 정적 분석을 위한 도구를 제공합니다. 더 보기...

Header: #include <QQmlSA>
CMake: find_package(Qt6 REQUIRED COMPONENTS QmlCompiler)
target_link_libraries(mytarget PRIVATE Qt6::QmlCompiler)
상태: 기술 미리보기

클래스

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

유형

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, EnumScope }
enum class ScriptBindingKind { Invalid, PropertyBinding, SignalHandler, ChangeHandler }

상세 설명

클래스

클래스 바인딩

특정 유형에 대한 단일 QML 속성 바인딩을 나타냅니다. 더 보기...

Element 클래스

QML 형을 나타냅니다. 더 보기...

ElementPass 클래스

요소에 대한 모든 정적 분석 패스를 위한 베이스 클래스입니다. 더 보기...

FixSuggestion 클래스

소스 코드의 문제에 대한 제안된 수정 사항을 나타냅니다. 더 보기...

GenericPass 클래스

정적 분석 패스를 위한 기본 클래스입니다. 더 보기...

LintPlugin 클래스

모든 정적 분석 플러그인을 위한 베이스 클래스입니다. 더 보기...

LoggerWarningId 클래스

QQmlSA 프레임워크에서 경고 카테고리를 고유하게 식별하기 위한 문자열 리터럴을 감싸는 래퍼. 더 보기...

메서드 클래스

QML 메서드를 나타냅니다. More...

PassManager 클래스

정적 분석 패스로 요소와 그 자식을 분석할 수 있습니다. 더 보기...

Property 클래스

QML 프로퍼티를 나타냅니다. More...

PropertyPass 클래스

프로퍼티의 모든 정적 분석 패스에 대한 베이스 클래스입니다. 더 보기...

소스 위치 클래스

소스 코드의 위치 또는 지역을 나타냅니다. 더 보기...

유형 문서

enum class QQmlSA::AccessSemantics

유형에 액세스하고 공유하는 방법을 설명합니다.

Constant설명
QQmlSA::AccessSemantics::Reference0이 유형은 객체 유형처럼 동작합니다.
QQmlSA::AccessSemantics::Value1유형이 값 유형처럼 동작합니다.
QQmlSA::AccessSemantics::None2유형이 네임스페이스이거나 유효하지 않습니다.
QQmlSA::AccessSemantics::Sequence3유형이 시퀀스 유형처럼 동작합니다.

QML 타입 시스템도참조하십시오 .

enum class QQmlSA::BindingType

QQmlSA::Binding 의 유형을 설명합니다.

Constant설명
QQmlSA::BindingType::Invalid0바인딩이 없습니다.
QQmlSA::BindingType::BoolLiteral1바인딩은 부울 리터럴입니다.
QQmlSA::BindingType::NumberLiteral2바인딩이 숫자 리터럴입니다.
QQmlSA::BindingType::StringLiteral3바인딩이 문자열 리터럴입니다.
QQmlSA::BindingType::RegExpLiteral4바인딩이 정규식 리터럴입니다.
QQmlSA::BindingType::Null5바인딩이 널 리터럴입니다.
QQmlSA::BindingType::Translation6바인딩이 번역입니다.
QQmlSA::BindingType::TranslationById7바인딩이 ID별 번역입니다.
QQmlSA::BindingType::Script8바인딩이 일반 스크립트입니다.
QQmlSA::BindingType::Object9바인딩이 객체입니다.
QQmlSA::BindingType::Interceptor10바인딩이 다음과 같은 속성에 대한 쓰기를 가로챌 수 있는 인터셉터입니다. Behavior
QQmlSA::BindingType::ValueSource11바인딩이 속성 값 소스입니다.
QQmlSA::BindingType::AttachedProperty12바인딩이 첨부된 객체입니다.
QQmlSA::BindingType::GroupProperty13바인딩이 그룹화된 속성입니다.

enum class QQmlSA::MethodType

QQmlSA::Method 의 유형을 설명합니다.

Constant설명
QQmlSA::MethodType::Signal0메서드는 신호입니다.
QQmlSA::MethodType::Slot1메서드가 슬롯입니다.
QQmlSA::MethodType::Method2메서드가 Q_INVOKABLE 메서드입니다.
QQmlSA::MethodType::StaticMethod3메서드가 Q_INVOKABLE 정적 메서드입니다.

enum class QQmlSA::ScopeType

QML 범위의 유형을 설명합니다.

Constant설명
QQmlSA::ScopeType::JSFunctionScope0범위는 자바스크립트 함수입니다:
Item {
    function f() : int { <- begin
        return 1
    } <- end
}
QQmlSA::ScopeType::JSLexicalScope1범위는 자바스크립트 어휘 범위입니다:
property int i: { <- begin
    let a = 1
    { <- begin
        console.log("hello")
    } <- end
    return a
} <- end
QQmlSA::ScopeType::QMLScope2범위가 QML 객체입니다:
Item { <- begin
    x: 50
} <- end
QQmlSA::ScopeType::GroupedPropertyScope3범위가 그룹화된 속성입니다:
Text {
    font { <- begin
        pixelSize: 12
        bold: true
    } <- end
}
QQmlSA::ScopeType::AttachedPropertyScope4범위가 첨부된 속성입니다:
Item {
    Component.onCompleted: console.log("Hello")
    ^^^^^^^^^
             \ Scope of attached property Component
}
QQmlSA::ScopeType::EnumScope5범위가 QML 열거형입니다:
enum E { <- begin
    A,
    B,
    C
} <- end

각 항목은 QML 코드에서 일치하는 유형의 범위 예제와 함께 표시됩니다.

enum class QQmlSA::ScriptBindingKind

Script 유형의 QQmlSA::Binding 스크립트 유형을 설명합니다.

상수설명
QQmlSA::ScriptBindingKind::Invalid0바인딩에 잘못된 스크립트가 있습니다.
QQmlSA::ScriptBindingKind::PropertyBinding1바인딩이 프로퍼티에 바인딩되었습니다.
QQmlSA::ScriptBindingKind::SignalHandler2바인딩이 시그널 핸들러입니다.
QQmlSA::ScriptBindingKind::ChangeHandler3바인딩이 변경 핸들러입니다.

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