Qt Widgets
その Qt Widgets Moduleは、古典的なデスクトップ・スタイルのユーザー・インターフェースを作成するためのUI要素のセットを提供します。ウィジェットの使い方については、ユーザーインターフェースの概要を参照してください。
ウィジェット
ウィジェットは、Qt でユーザインタフェースを作成するための主要な要素です。ウィジェットは、データやステータス情報を表示したり、ユーザー入力を受け取ったり、グループ化された他のウィジェットのコンテナを提供したりします。親ウィジェットに埋め込まれていないウィジェットはウィンドウと呼ばれます。
QWidget クラスは、スクリーンにレンダリングし、ユーザー入力イベントを処理する基本的な機能を提供します。Qt が提供するすべての UI 要素は、QWidget のサブクラスか、QWidget のサブクラスに関連して使用されます。カスタムウィジェットを作成するには、QWidget または適切なサブクラスを作成し、仮想イベントハンドラを再実装してください。
スタイル
スタイルはウィジェットの代わりに描画を行い、GUI のルック&フィールをカプセル化します。Qt の組み込みウィジェットは、QStyle クラスを使用して描画のほとんどを行い、同等のネイティブウィジェットと同じように見えるようにしています。
Qt スタイルシートは、QStyle をサブクラス化することで既に可能なことに加えて、ウィジェットの外観をカスタマイズできる強力なメカニズムです。
レイアウト
レイアウトは、コンテナ内に子ウィジェットを自動的に配置するエレガントで柔軟な方法です。各ウィジェットは、sizeHint とsizePolicy プロパティを通じてレイアウトに必要なサイズを報告し、レイアウトはそれに応じて利用可能なスペースを分配します。
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 ライセンスを参照してください。
© 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.