QMLアプリケーション

QMLは、ユーザーインターフェースを視覚的なコンポーネントで記述し、それらがどのように相互作用し関連し合っているかを記述することを可能にする宣言型言語です。QMLは、コンポーネントをダイナミックに相互接続できるように設計された、可読性の高い言語であり、ユーザーインターフェースの中でコンポーネントを簡単に再利用したり、カスタマイズしたりすることができます。QtQuick モジュールを使用することで、デザイナーや開発者は、QML で流れるようなアニメーションのユーザーインターフェイスを簡単に構築することができ、これらのユーザーインターフェイスをバックエンドの C++ ライブラリに接続するオプションも用意されています。

QMLとは?

QMLはユーザーインターフェースの仕様とプログラミング言語です。QMLを使用することで、開発者やデザイナーは、高いパフォーマンス、流れるようなアニメーション、視覚的に魅力的なアプリケーションを作成することができます。QMLは、非常に読みやすく、宣言的で、JSONライクな構文を提供し、動的なプロパティバインディングと組み合わせた命令型JavaScript式をサポートします。

import QtQuick
import QtQuick.Controls

ApplicationWindow {
    width: 400
    height: 400
    visible: true

    Button {
        id: button
        text: "A Special Button"
        background: Rectangle {
            implicitWidth: 100
            implicitHeight: 40
            color: button.down ? "#d6d6d6" : "#f6f6f6"
            border.color: "#26282a"
            border.width: 1
            radius: 4
        }
    }
}

QML言語とエンジンのインフラストラクチャは Qt Qmlモジュールによって提供されています。QML言語についての詳しい情報は Qt Qmlモジュールのドキュメントを参照してください。

以下のページには、QMLに関する詳細な情報が含まれています:

Qt Quick とは?

Qt Quick はQMLの型と機能の標準ライブラリです。ビジュアルタイプ、インタラクティブタイプ、アニメーション、モデル、ビュー、パーティクルエフェクト、シェーダーエフェクトなどが含まれています。QMLアプリケーションの開発者は、1つのimportステートメントですべての機能にアクセスすることができます。

QtQuick QMLライブラリは Qt Quickモジュールによって提供されています。Qt Quick が提供する様々なQML型やその他の機能についての詳細情報は、モジュールのドキュメントをご参照ください。 Qt QuickQt Quick では、Qt QMLの標準QML型に加えて、ビジュアル型、アニメーション型、その他のQML型が追加されています。

ボタン、メニュー、その他のコントロール

UIコントロールのセットに対して Qt Quick Controlsモジュールはボタン、メニュー、ビューなどのコントロールを実装しています。これらのコントロールには、使用可能ないくつかの組み込みスタイルが付属しており、カスタムスタイルの作成もサポートしています。

Qt Quick プロジェクト

Qt Creatorは、次のタイプのQt Quick アプリケーション用のプロジェクト環境を設定します:

  • スクロール- スクロールベースのナビゲーション
  • スタック- スタックベースのナビゲーション
  • Swipe- スワイプ・ナビゲーションを備えたページベースのアプリケーション
  • PythonQt for PythonプロジェクトはQML UIを持ち、Qt Creator をサポートしています。

Qt Quick アプリケーションの詳細については、以下のページをご覧ください:

コードサンプルとデモ

QMLコードの使い方をより詳しく知るために、QMLの型がどのように使われているかを示すコードサンプルがいくつか用意されています。さらに、QMLコードがアプリケーションでどのように使われているかを示すデモもいくつかあります。

高度なアプリケーション開発のトピック

© 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.