カスタムプロパティの追加
各プリセットコンポーネントには、値を指定できる一連のプリセットプロパティが用意されています。 特定のコンポーネントタイプには元々存在しないカスタムプロパティを追加することもできます。プロパティを動的式にバインドすることで、他のコンポーネントから読み取ることができるコンポーネントのグローバルプロパティを定義できます。たとえば、子コンポーネントで使用できるグローバルプロパティをルートコンポーネントに指定することができます。
たとえば、UI 要素間の間隔を指定するには、margin プロパティを持たないコンポーネントの margin を定義し、バインディングを使用して他のコンポーネントからその margin プロパティの値を参照することができます。
同様に、プリセットコンポーネントをベースにした独自のコンポーネントに対して、カスタムプロパティを追加することもできます。
データ駆動型のコンテンツはすべて、関連するコンポーネントのパブリックプロパティ(エイリアスプロパティ)としてエクスポートする必要があります。たとえば、スピードメーターには、UI がバインドされる速度を表すintまたはreal 型のプロパティが必要です。
![[設定] ビューにある「ローカルカスタムプロパティ」および「公開カスタムプロパティ」の設定。 [設定] ビューにある「ローカルカスタムプロパティ」および「公開カスタムプロパティ」の設定。](images/custom-properties.png)
コンポーネントにプロパティを追加する
コンポーネントにカスタムプロパティを追加するには:
- Properties >Local Custom Properties に移動します。
- 「
」(Add )を選択します。![[プロパティ] ビューでプロパティを追加する。 [プロパティ] ビューでプロパティを追加する。](images/add-local-custom-property.png)
- プロパティの「Name 」と「Type 」を設定します。

[新しいプロパティの追加] ダイアログ。
- 「Add Property 」を選択して、プロパティを追加します。
プロパティ値のバインド
プロパティの値を別のプロパティの値、またはアプリケーション内でアクセス可能なデータにバインドするには:
- 「Properties 」ビューで、プロパティの横にある「
」を選択します。 - 「Set Binding 」を選択します。

「Binding Editor」ダイアログが表示されます。
詳細については、「バインディングの設定」を参照してください。
「Connections」ビューでカスタムプロパティを追加する
「Connections 」ビューでコンポーネントのカスタムプロパティを追加するには、次の手順を実行します。
- 「2D 」または「Navigator 」ビューでコンポーネントを選択します。
- 「Connections 」>「Properties 」に移動します。

- 「
」(「Add 」)を選択して、カスタムプロパティを追加します。 - カスタムプロパティエディタで、含めたいプロパティの「Type 」を選択します。

カスタムプロパティエディタ。
- そのプロパティのName とValue を設定します。
カスタムプロパティの削除
[Connections ] > [Properties] に移動し、[
] (Remove) を選択して、選択したカスタムプロパティを削除します。
サポートされているプロパティの種類
次の表は、サポートされているプロパティの種類を示しています:
| タイプ | 説明 |
|---|---|
| エイリアス | 別のプロパティへの参照を保持するプロパティエイリアス |
| bool | true またはfalse の値(ブール値) |
| color | "red" 、"green" 、"lightsteelblue" などの SVG カラー名、あるいはそれぞれ"#RRGGBB" および"#AARRGGBB" の形式の 16 進数の 3 桁または 4 桁の値を使用して指定できる色値。 たとえば、赤色は"#FF0000" の3値に対応し、わずかに透明な青色は"#800000FF" の4値に対応します。さらに、次の Qt XML 関数を使用することもできます:Qt.rgba()、Qt.hsva()、Qt.hsla()、Qt.darker()、Qt.lighter()、およびQt.tint()。 |
| int | 0、10、-20 などの整数 |
| real | 小数点を含む数値 |
| 文字列 | 自由形式のテキスト文字列 |
| TextureInput | CustomMaterial または Effect のシェーダーに対して公開されるテクスチャを指定します。 |
| url | ファイル名などのリソースロケーター。絶対パス(https://qt-project.org )または相対パス(pics/logo.png )のいずれかです。相対 URL は、親コンポーネントの URL を基準として解決されます。 |
| variant | 汎用プロパティ型。たとえば、variant プロパティには数値、文字列、オブジェクト、配列、関数などを格納できます。 |
| vector2d | x および y 属性を持つ値を指します。 |
| vector3d | x、y、z の属性を持つ値を指します。 |
| vector4d | x、y、z、w 属性を持つ値を指します。 |
「UI コンポーネントの使用方法」、「 Qt Quick UI デザイン」、および「 Qt Quick UI のデザイン」も参照してください 。
Copyright © The Qt Company Ltd. and other contributors. 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.