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::Reference | 0 | Object型のように振る舞う |
QQmlSA::AccessSemantics::Value | 1 | 型がValue型のように振る舞う |
QQmlSA::AccessSemantics::None | 2 | 型が名前空間であるか、無効である |
QQmlSA::AccessSemantics::Sequence | 3 | 型がシーケンス型のように振る舞う |
QML 型システムも参照してください 。
enum class QQmlSA::BindingType
QQmlSA::Binding のタイプを記述する。
定数 | 値 | 説明 |
---|---|---|
QQmlSA::BindingType::Invalid | 0 | バインディングはありません。 |
QQmlSA::BindingType::BoolLiteral | 1 | バインディングは bool リテラルです。 |
QQmlSA::BindingType::NumberLiteral | 2 | バインディングが数値リテラル |
QQmlSA::BindingType::StringLiteral | 3 | バインディングは文字列リテラルです。 |
QQmlSA::BindingType::RegExpLiteral | 4 | バインディングが正規表現リテラルである |
QQmlSA::BindingType::Null | 5 | バインディングは NULL リテラルです。 |
QQmlSA::BindingType::Translation | 6 | バインディングは翻訳です |
QQmlSA::BindingType::TranslationById | 7 | バインディングはidによる翻訳です |
QQmlSA::BindingType::Script | 8 | バインディングは正規スクリプトです |
QQmlSA::BindingType::Object | 9 | バインディングはオブジェクトです |
QQmlSA::BindingType::Interceptor | 10 | バインディングは、次のようなプロパティへの書き込みをインターセプトできるインターセプターです。Behavior |
QQmlSA::BindingType::ValueSource | 11 | バインディングはプロパティ値ソースです |
QQmlSA::BindingType::AttachedProperty | 12 | バインディングはアタッチされたオブジェクトです |
QQmlSA::BindingType::GroupProperty | 13 | バインディングはグループ化されたプロパティです |
enum class QQmlSA::MethodType
QQmlSA::Method のタイプを記述する。
定数 | 値 | 説明 |
---|---|---|
QQmlSA::MethodType::Signal | 0 | メソッドはシグナル |
QQmlSA::MethodType::Slot | 1 | メソッドはスロットです |
QQmlSA::MethodType::Method | 2 | メソッドはQ_INVOKABLE メソッドです。 |
QQmlSA::MethodType::StaticMethod | 3 | メソッドはQ_INVOKABLE スタティック・メソッドです。 |
enum class QQmlSA::ScopeType
QML スコープの種類を表します。
定数 | 値 | 説明 |
---|---|---|
QQmlSA::ScopeType::JSFunctionScope | 0 | スコープは JavaScript の関数です:Item { function f() : int { <- begin return 1 } <- end } |
QQmlSA::ScopeType::JSLexicalScope | 1 | スコープはJavaScriptのレキシカルスコープです:property int i: { <- begin let a = 1 { <- begin console.log("hello") } <- end return a } <- end |
QQmlSA::ScopeType::QMLScope | 2 | スコープはQMLオブジェクトです:Item { <- begin x: 50 } <- end |
QQmlSA::ScopeType::GroupedPropertyScope | 3 | スコープはグループ化されたプロパティです:Text { font { <- begin pixelSize: 12 bold: true } <- end } |
QQmlSA::ScopeType::AttachedPropertyScope | 4 | スコープはアタッチされたプロパティです:Item { Component.onCompleted: console.log("Hello") ^^^^^^^^^ \ Scope of attached property Component } |
QQmlSA::ScopeType::EnumScope | 5 | スコープは QMLenum です:enum E { <- begin A, B, C } <- end |
各エントリには、QMLコード内で一致する型のスコープ例が示されています。
enum class QQmlSA::ScriptBindingKind
Script 型のQQmlSA::Binding のスクリプトタイプを記述する。
© 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.