このページでは

UIファイル

Qt Quick のUIプロトタイププロジェクトを作成する場合、またはQt CreatorQt 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()
  • toLocaleString
  • toLocaleUpperCase()
  • toLowerCase()
  • toPrecision()
  • toString()
  • toUpperCase()
  • valueOf()

さらに、Math およびDate オブジェクトのすべての関数がサポートされています。

詳細については、「JavaScript オブジェクトおよび関数のリスト」を参照してください。

Qt Qml メソッド

Qt Creator は、色関連のメソッド、特定のデータ型のオブジェクトを作成するためのヘルパーメソッド、および変換メソッドをサポートしています。

以下の色関連メソッドがサポートされています:

以下のヘルパーメソッドがサポートされています:

以下の翻訳方法がサポートされています:

注: 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.