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 アプリケーションを作成するためのサポートが組み込まれています。Qt VS ToolsQt Extension for Visual Studio Codeにより、Visual Studio と Visual Studio Code でQt Quick アプリケーションを作成することができます。QML Language Server は、言語サーバープロトコルをサポートしている IDE であれば、どの IDE からでも使用できます。

デザイン中心のワークフローには、Qt Design Studio を使用してください。

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.