UIファイル
Qt Quick のUIプロトタイププロジェクトを作成する場合、またはQt Creator とQt Design Studio を切り替える場合、プロジェクトにUIファイル(.ui.qml )が含まれることがあります。これらのファイルは、Qt Quick DesignerまたはQt Design Studio でのみ編集してください。
デフォルトでは、Qt Creator はUIファイルをDesign モードで開きます。Qt Design Studio で開くには、 または ビューのコンテキストメニューから「Open With 」> Qt Design StudioFile System Projects を選択してください。
.ui.qml ファイルでは、以下の機能はサポートされていません:
- JavaScript ブロック
- 純粋な式以外のバインディング
- シグナルハンドラ
- ルートコンポーネント以外のコンポーネント内の状態
- QQuickItem から派生していないルートコンポーネント、またはItem
- ルートコンポーネントの親への参照
以下のコンポーネントはサポートされていません:
- 動作
- バインディング
- Canvas
- シェーダーエフェクト
- タイマー
- トランスフォーム
サポートされているメソッド
Qt Creator QML エンジンでサポートされている JavaScript 関数のほとんどと、Qt Qml メソッドの一部をサポートしています。
このセクションでは、.ui.qml ファイルで使用できる関数を一覧表示します。
JavaScript 関数
大まかな目安として、純粋関数がサポートされています。これらは、自身のスコープ内にあるパラメータの状態にのみ依存し、その状態を変更するのみであるため、同じパラメータが与えられた場合は常に同じ結果を返します。これにより、.ui.qml ファイルの動作を損なうことなく、プロパティバインディングの変換や再フォーマットが可能になります。
以下の JavaScript 関数がサポートされています:
charAt()charCodeAt()concat()endsWith()includes()indexOf()isFinite()isNaN()lastIndexOf()substring()toExponential()toFixed()toLocaleLowerCase()toLocaleStringtoLocaleUpperCase()toLowerCase()toPrecision()toString()toUpperCase()valueOf()
さらに、Math およびDate オブジェクトのすべての関数がサポートされています。
詳細については、「JavaScript オブジェクトおよび関数のリスト」を参照してください。
Qt Qml メソッド
Qt Creator は、色関連のメソッド、特定のデータ型のオブジェクトを作成するためのヘルパーメソッド、および変換メソッドをサポートしています。
以下の色関連メソッドがサポートされています:
以下のヘルパーメソッドがサポートされています:
- Qt.formatDate()
- Qt.formatDateTime()
- Qt.formatTime()
- Qt.matrix4x4()
- Qt.point()
- Qt.quaternion()
- Qt.rect()
- Qt.size()
- Qt.vector2d()
- Qt.vector3d()
- Qt.vector4d()
以下の翻訳方法がサポートされています:
- qsTr()
- qsTranslate()
- QT_TRANSLATE_NOOP()
- qsTrId()
- QT_TRID_NOOP()
- QT_TR_NOOP()
注: UI ファイル内で翻訳メソッドを混在させないでください 。
これらのメソッドの使用方法の詳細については、「Qt Qml メソッド」を参照してください。
UI ファイルの使用
Design モードでUIファイルを編集します。コード内でコンポーネントを使用するには、それらをプロパティとしてエクスポートします。
Item {
width: 640
height: 480
property alias button: button
Button {
anchors.centerIn: parent
id: button
text: qsTr("Press Me")
}
}このプロパティエイリアスにより、ボタンがフォームを使用するコードにエクスポートされます。Navigator の「
(Export )」ボタンを使用して、コンポーネントをプロパティとしてエクスポートできます:

コンポーネントが使用されるUIファイルでは、例えばbutton プロパティエイリアスを使用してシグナルハンドラを実装できます。以下のコードスニペットでは、UIファイルはMainForm.ui.qml という名前です:
MainForm {
anchors.fill: parent
button.onClicked: messageDialog.show(qsTr("Button pressed"))
}また、プロパティの割り当てや、動作、遷移の定義を行うこともできます。
2D またはNavigator ビューから、.qml ファイル内のコンポーネントの実装に直接移動するには、コンポーネントを右クリックし、コンテキストメニューから [Go to Implementation ] を選択します。
「Qt Quick 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.