このページでは

UIファイル

Qt Quick UI Prototypeプロジェクトを作成する場合、または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()
  • 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.