QQmlSA Namespace

QMLプログラムの静的解析ツールを提供します。詳細...

ヘッダ #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 }

詳細説明

クラス

クラスBinding

特定の型のための単一のQMLプロパティバインディングを表します。詳細...

クラスElement

QML 型を表します。詳細

クラスElementPass

要素に対するすべての静的解析パスの基底クラスです。詳細はこちら

クラスFixSuggestion

ソースコードの問題に対する修正案を表します。詳細はこちら

クラスGenericPass

静的解析パスの基本クラスです。詳細はこちら

クラスLintPlugin

すべての静的解析プラグインの基底クラスです。詳細はこちら

クラスLoggerWarningId

QQmlSA フレームワークの警告カテゴリを一意に識別するための文字列リテラルのラッパー。詳細

クラスMethod

QML メソッドを表します。詳細はこちら

クラスPassManager

要素とその子を静的解析パスで解析します。詳細はこちら

クラスProperty

QML プロパティを表します。詳細はこちら

クラスPropertyPass

プロパティに対するすべての静的解析パスの基底クラスです。詳細はこちら

クラスSourceLocation

ソースコード内の位置または領域を表します。詳細はこちら

型のドキュメント

enum class QQmlSA::AccessSemantics

型がどのようにアクセスされ、共有されるかを記述する。

定数説明
QQmlSA::AccessSemantics::Reference0Object型のように振る舞う
QQmlSA::AccessSemantics::Value1型がValue型のように振る舞う
QQmlSA::AccessSemantics::None2型が名前空間であるか、無効である
QQmlSA::AccessSemantics::Sequence3型がシーケンス型のように振る舞う

QML 型システムも参照してください

enum class QQmlSA::BindingType

QQmlSA::Binding のタイプを記述する。

定数説明
QQmlSA::BindingType::Invalid0バインディングはありません。
QQmlSA::BindingType::BoolLiteral1バインディングは bool リテラルです。
QQmlSA::BindingType::NumberLiteral2バインディングが数値リテラル
QQmlSA::BindingType::StringLiteral3バインディングは文字列リテラルです。
QQmlSA::BindingType::RegExpLiteral4バインディングが正規表現リテラルである
QQmlSA::BindingType::Null5バインディングは NULL リテラルです。
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 のタイプを記述する。

定数説明
QQmlSA::MethodType::Signal0メソッドはシグナル
QQmlSA::MethodType::Slot1メソッドはスロットです
QQmlSA::MethodType::Method2メソッドはQ_INVOKABLE メソッドです。
QQmlSA::MethodType::StaticMethod3メソッドはQ_INVOKABLE スタティック・メソッドです。

enum class QQmlSA::ScopeType

QML スコープの種類を表します。

定数説明
QQmlSA::ScopeType::JSFunctionScope0スコープは JavaScript の関数です:
Item {
    function f() : int { <- begin
        return 1
    } <- end
}
QQmlSA::ScopeType::JSLexicalScope1スコープはJavaScriptのレキシカルスコープです:
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スコープは QMLenum です:
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.