Qtウィジェット

Qt Widgets Module は、古典的なデスクトップ・スタイルのユーザー・インタフェースを作成するための UI 要素のセットを提供します。ウィジェットの使い方については、ユーザーインターフェースの概要を参照してください。

ウィジェット

ウィジェットは、Qt でユーザーインターフェースを作成するための主要な要素です。ウィジェットは、データやステータス情報を表示したり、ユーザー入力を受け取ったり、グループ化された他のウィジェットのコンテナを提供したりすることができます。親ウィジェットに埋め込まれていないウィジェットはウィンドウと呼ばれます。

A parent widget containing various child widgets.

QWidget クラスは、スクリーンにレンダリングし、ユーザー入力イベントを処理する基本的な機能を提供します。Qt が提供するすべての UI 要素は、QWidget のサブクラスか、QWidget のサブクラスに関連して使用されます。カスタムウィジェットを作成するには、QWidget または適切なサブクラスを作成し、仮想イベントハンドラを再実装してください。

スタイル

スタイルはウィジェットの代わりに描画を行い、GUI のルック&フィールをカプセル化します。Qt の組み込みウィジェットは、QStyle クラスを使用してほぼすべての描画を行い、同等のネイティブウィジェットとまったく同じように見えるようにしています。

Qt スタイルシートはQStyle をサブクラス化することで既に可能なことに加えて、ウィジェットの外観をカスタマイズできる強力なメカニズムです。

レイアウト

レイアウトは、コンテナ内に子ウィジェットを自動的に配置するエレガントで柔軟な方法です。各ウィジェットは、sizeHintsizePolicy プロパティを通してレイアウトに必要なサイズを報告し、レイアウトはそれに応じて利用可能なスペースを分配します。

Qt Widgets Designerは、インタラクティブにウィジェットを作成し、レイアウトに配置するための強力なツールです。

モデル/ビュークラス

モデル/ビュー・アーキテクチャは、データをユーザーに表示する方法を管理するクラスを提供します。リストやテーブルを使用するデータ駆動型のアプリケーションは、モデル、ビュー、デリゲートを使用してデータとビューを分離する構造になっています。

グラフィックス・ビュー

グラフィックス・ビュー・フレームワークは、多数のカスタムメイドの2Dグラフィカル・アイテムの管理とインタラクションのためのもので、ズームと回転をサポートした、アイテムを視覚化するためのビュー・ウィジェットです。

モジュールの使用

Qt モジュールの C++ API を使用するには、モジュール・ライブラリを直接リンクするか、他の依存関係を介してリンクする必要があります。CMakeや qmakeなど、いくつかのビルドツールはこのための専用サポートを持っています。

CMake でのビルド

find_package() コマンドを使用して、必要なモジュール・コンポーネントをQt6 パッケージから探します:

find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)

詳細については、CMakeによるビルドの概要を参照してください。

qmakeでのビルド

qmakeでビルドするようにモジュールを設定するには、プロジェクトの.proファイルにQT 変数の値としてモジュールを追加します:

QT += widgets

記事とガイド

例題

APIリファレンス

モジュールの進化

Qt Widgets の変更点には、Qt 6 シリーズの Qt で行われたモジュール API と機能の重要な変更が記載されています。

ライセンス

Qt Widgetsモジュールは、The Qt Companyの商用ライセンスで利用できます。さらに、フリーソフトウェアライセンスでも利用可能です:GNU Lesser General Public License, version 3 またはGNU General Public License, version 2です。詳細はQt ライセンスを参照してください。

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