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 言語でアプリケーションやライブラリを開発するためのフレームワークを提供します。Qt QML モジュールでは、言語とエンジンのインフラストラクチャを定義・実装し、QML 言語をカスタム型で拡張したり、QML コードを JavaScript や C++ と統合したりするための API を提供しています。Qt QML モジュールは、QML API とC++ API の両方を提供します。
Qt Qmlモジュールは QML アプリケーションのための言語とインフラストラクチャを提供します。Qt Quickモジュールは、多くのビジュアルコンポーネント、モデルビューのサポート、アニメー ションフレームワークなど、ユーザーインターフェイスを構築するための機能を提供します。
QML 言語では、JSON ライクな構文でオブジェクトのツリーを定義することができます。また、JavaScript でロジックを実装することもできます。
QMLアプリケーションのためのJavaScript
JavaScript の式により、QML のコードにアプリケーションのロジックを含めることができます。Qt QML では、QML や C++ から JavaScript 式を実行するためのフレームワークを提供しています。Qt QML は次のような機能をサポートしています:
- ユーザーインターフェースとアプリケーションロジックの両方を素早く開発することができます。
- QML が提供するJavaScript ホスト環境は、第7版で規定された有効な JavaScript を実行することができます。
- JavaScript 内からオブジェクトを動的に生成することができます。これは、必要な時までオブジェクトのインスタンス化を遅らせ、アプリケーションの起動時間を改善するのに便利です。
Python 用 Qt
Qt for Pythonは Qt の公式 Python バインディングを提供し、Python を使って Qt アプリケーションを書くことを可能にします。このプロジェクトには以下のコンポーネントがあります:
- PySide6: Qt 6用の公式のPythonバインディングです。
- Shiboken6: C++ コードを Python に公開するためのバインディング生成ツールです。
- ツーリング:PySide6を使ったアプリケーション開発を容易にします。
- Shibokenモジュール:デバッグ用のユーティリティ関数を提供
関連コンテンツ
©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権はそれぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundationによって発行されたGNU Free Documentation License version 1.3の条項の下でライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。