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 の主要なフレームワークも提供しています。

リファレンス

モジュールの進化

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

Data Compression Library (zlib), version 1.3.1

zlib ライセンス

Easing Equations by Robert Penner

BSD 3条項「新規」または「改訂」ライセンス

Efficient Binary-Decimal and Decimal-Binary Conversion Routines for IEEE Doubles, version 3.3.0

BSD 3条項「新規」もしくは「改訂」ライセンス

KWin, version 5.13.4

BSD-3条項

MD4

パブリックドメイン

MD5

パブリックドメイン

PCRE2 - Stack-less Just-In-Time Compiler, version 10.44

BSD 2条項「簡易」ライセンス

PCRE2, version 10.44

PCRE2バイナリライクパッケージ例外を含むBSD 3条項「新規」もしくは「改訂」ライセンス

QEventDispatcher on macOS

BSD 3条項「新規」または「改訂」ライセンス

Secure Hash Algorithm SHA-1

パブリックドメイン

Secure Hash Algorithm SHA-3 - Keccak, version 3.2

クリエイティブ・コモンズ・ゼロ v1.0 ユニバーサル

Secure Hash Algorithm SHA-3 - brg_endian, version https://github.com/BrianGladman/sha/ commit 4b9e13ead2c5b5e41ca27c65de4dd69ae0bac228

BSD 2条項「簡易」ライセンス

Secure Hash Algorithms SHA-384 and SHA-512

BSD 3条項「新規」もしくは「改訂」ライセンス

SipHash Algorithm

クリエイティブ・コモンズ・ゼロ v1.0 ユニバーサル

TinyCBOR, version 0.6.0

MITライセンス

Unicode Character Database (UCD), version 30

ユニコード使用許諾契約書 - データファイルとソフトウェア (2016)

Unicode Common Locale Data Repository (CLDR), version v45

ユニコード・ライセンスv3

extra-cmake-modules, version 5.84.0

BSD-3条項

forkfd

MITライセンス

©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundationによって発行されたGNU Free Documentation License version 1.3の条項の下でライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。