Qt コア
Qt Core モジュールは、C++ に以下の機能を追加します:
- シグナルとスロットと呼ばれる、シームレスなオブジェクト通信のための非常に強力なメカニズム
- 問い合わせ可能で設計可能なオブジェクト・プロパティ
- ガード付きポインタ (QPointer) を使ってオブジェクトの所有権を自然な方法で整理する、階層的で問い合わせ可能なオブジェクトツリー
- ライブラリの境界を越えて動作するダイナミック・キャスト
Qt のコア機能については、以下のページで詳しく説明しています:
モジュールの使用
Qt モジュールの C++ API を使用するには、モジュール・ライブラリを直接リンクするか、他の依存関係を介してリンクする必要があります。CMakeや qmakeなど、いくつかのビルドツールはこのための専用サポートを持っています。
CMake でのビルド
find_package()
コマンドを使用して、必要なモジュール・コンポーネントをQt6
パッケージから探します:
find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
詳細については、CMakeによるビルドの概要を参照してください。
qmakeを使ったビルド
qmake を使ってプロジェクトをビルドすると、デフォルトで Qt Core がリンクされます。
スレッドと並行プログラミング
Qt では、プラットフォームに依存しないスレッドクラス、スレッドセーフなイベント投稿方法、スレッド間のシグナルスロット接続という形でスレッドサポートを提供しています。マルチスレッドプログラミングは、アプリケーションのユーザーインターフェイスをフリーズさせることなく、時間のかかる処理を実行するための有用なパラダイムでもあります。
Qt のスレッドサポートのページには、アプリケーションにスレッドを実装するための情報があります。その他の同時実行クラスはQt Concurrentモジュールによって提供されています。
入出力、リソース、コンテナ
Qt は、アプリケーションのファイルやアセットを整理するためのリソースシステム、コンテナのセット、入力を受け取り出力を印刷するためのクラスを提供します。
さらに、Qt Core は、アプリケーションの実行ファイルにバイナリファイルを格納するための、プラットフォームに依存しないメカニズムを提供します。
その他のフレームワーク
Qt Core は Qt の主要なフレームワークも提供しています。
リファレンス
- C++ Classes
- CMake API
モジュールの進化
Qt Core の変更点では、Qt 6 シリーズの Qt で行われたモジュールの API や機能の重要な変更点を挙げています。
ライセンスと帰属
Qt Core はThe Qt Company の商用ライセンスで利用できます。さらに、フリーソフトウェアライセンスでも利用可能です:GNU Lesser General Public License, version 3 またはGNU General Public License, version 2 です。詳細はQt ライセンスを参照してください。
Windows 上の実行ファイルは、QtEntryPoint ライブラリにリンクする可能性があります。このライブラリは商用ライセンスのほか、BSD 3 項「新規」または「改訂」ライセンスでも利用できます。
さらに、Qt 6.8.0のQt Coreは、以下の寛容なライセンスの下でサードパーティモジュールを含むことができます:
Apache Tika MimeType Definitions, version 5101bc7fb090ed7deffe56837d7633c9485a1e5d | Apache ライセンス 2.0 |
BLAKE2 (reference implementation), version 54f4faa4c16ea34bcd59d16e8da46a64b259fc07 | Creative Commons Zero v1.0 Universal または Apache License 2.0 |
zlib ライセンス | |
BSD 3条項「新規」または「改訂」ライセンス | |
Efficient Binary-Decimal and Decimal-Binary Conversion Routines for IEEE Doubles, version 3.3.0 | BSD 3条項「新規」もしくは「改訂」ライセンス |
BSD-3条項 | |
パブリックドメイン | |
パブリックドメイン | |
BSD 2条項「簡易」ライセンス | |
PCRE2バイナリライクパッケージ例外を含むBSD 3条項「新規」もしくは「改訂」ライセンス | |
BSD 3条項「新規」または「改訂」ライセンス | |
パブリックドメイン | |
クリエイティブ・コモンズ・ゼロ v1.0 ユニバーサル | |
BSD 2条項「簡易」ライセンス | |
BSD 3条項「新規」もしくは「改訂」ライセンス | |
クリエイティブ・コモンズ・ゼロ v1.0 ユニバーサル | |
MITライセンス | |
ユニコード使用許諾契約書 - データファイルとソフトウェア (2016) | |
ユニコード・ライセンスv3 | |
BSD-3条項 | |
MITライセンス |
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundationによって発行されたGNU Free Documentation License version 1.3の条項の下でライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。