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++ に以下の機能を追加します:
- シグナルとスロットと呼ばれるシームレスなオブジェクト通信のための強力なメカニズム
- クエリ可能で設計可能なオブジェクト・プロパティ
- 強力なイベントとイベントフィルター
- 国際化のためのコンテクスト文字列変換
- イベント駆動型GUIで多くのタスクをエレガントに統合できる、洗練されたインターバル駆動タイマー
- オブジェクトの所有権を自然な形で整理する、階層的で問い合わせ可能なオブジェクトツリー
- ライブラリの境界を越えて動作するダイナミック・キャスト
- Qt メタタイプシステムへのカスタム型の統合のサポート
QML
Qt Qmlは、QML 言語を使ってアプリケーションやライブラリを開発するためのフレームワークを提供します。QML モジュールでは、言語とエンジンのインフラストラクチャを定義・実装し、QML 言語をカスタム型で拡張したり、QML コードを JavaScript や C++ と統合したりするための API を提供します。Qt QML モジュールは、QML API とC++ API の両方を提供します。
モジュール Qt QmlモジュールはQMLアプリケーションのための言語とインフラストラクチャを提供します。モジュールはQMLアプリケーションのための言語とインフラを提供します。 Qt Quickモジュールは、多くのビジュアルコンポーネント、モデルビューのサポート、アニメーションフレームワークなど、ユーザーインターフェイスを構築するための様々な機能を提供します。
QML言語では、JSONのような構文でオブジェクトのツリーを定義することができます。また、JavaScriptでロジックを実装することもできます。
QMLアプリケーションのためのJavaScript
JavaScript の式により、QML のコードにアプリケーションのロジックを含めることができます。Qt QML では、JavaScript の式を QML や C++ から実行するためのフレームワークを提供しています。Qt QML は次のような機能をサポートしています:
- ユーザーインターフェースとアプリケーションロジックの両方を素早く開発することができます。
- 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.