Qt 言語

Qt API は C++ で実装されており、クロスプラットフォーム開発を容易にするための追加機能を提供しています。Qt は、JavaScript の上に構築された独自の宣言言語である QML と、QML の上に構築されたフレームワークであるQt Quick をサポートしています。QMLは、プログラムのユーザーインターフェイスを記述するために設計されています。C++を使う代わりに、Python用のQtへのバインディングが以下のように存在します。 Qt for Python.

C++

Qt フレームワークには、非常に直感的でモジュール化された C++ ライブラリ・クラスの包括的なセットが含まれており、アプリケーション開発を簡素化するための API が搭載されています。Qt は、C++ 開発のための豊富なアプリケーションビルドブロックを備えた直感的な C++ クラスライブラリを提供し、C++ に以下の機能を追加します:

QML

Qt Qmlは、QML 言語を使ってアプリケーションやライブラリを開発するためのフレームワークを提供します。QMLは、言語とエンジンのインフラストラクチャを定義・実装し、QML言語をカスタム型で拡張したり、QMLのコードをJavaScriptやC++と統合したりするためのAPIを提供します。Qt Qml モジュールはQML APIC++ API の両方を提供します。

モジュールは Qt QmlモジュールはQMLアプリケーションのための言語とインフラを提供します。この Qt Quickモジュールは、多くのビジュアルコンポーネント、モデルビューのサポート、 アニメーションフレームワークなど、ユーザーインターフェイスを構築するための様々な機能を提供します。

QML言語では、JSONのような構文でオブジェクトのツリーを定義することができます。また、JavaScriptでロジックを実装することもできます。

QMLアプリケーションのためのJavaScript

Qt Qml では、QML や C++ から JavaScript を実行するためのフレームワークを提供しています。このフレームワークは以下をサポートします:

  • ユーザーインターフェースとアプリケーションロジックの迅速な開発。
  • QML が提供するJavaScript ホスト環境では、第7版で規定された有効な JavaScript を実行することができます。
  • JavaScript 内からオブジェクトを動的に生成することができます。これはオブジェクトのインスタンス化を必要なときまで遅らせ、 アプリケーションの起動時間を短縮するのに便利です。

Qt for Python

Qt for PythonQtのための公式のPythonバインディングを提供しており、Pythonを使ってQtアプリケーションを書くことができます。このプロジェクトには以下のコンポーネントがあります:

  • PySide6: Qt 6 用の公式 Python バインディングです。
  • Shiboken6: C++ コードを Python に公開するためのバインディング生成ツールです。
  • ツーリング:PySide6を使ったアプリケーション開発を容易にします。
  • Shibokenモジュール:デバッグ用のユーティリティ関数を提供

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