ユーザーインターフェース
Qt フレームワークの主要なユーザーインターフェイス技術は Qt Quickと Qt WidgetsQt Quick インターフェースは流動的で動的であり、タッチインターフェースに最適です。Qt Widgets は複雑なデスクトップアプリケーションを作成するためのものです。Qt Quick およびQt Widgets インターフェイスを、ターゲットプラットフォームのネイティブなルック&フィールで作成できます。
でUIを構築します。Qt Quick
Qt Quickは、動的で流動的なユーザーインターフェイスを作成するためのものです。この Qt Quick Controlsモジュールは、ボタン、ダイアログ、メニューなどのQMLタイプを提供します。宣言型言語であるQMLを使ってUIを構築し、JavaScriptを使ってロジックを実装することができます。
以下のリストには関連する概要が含まれています:
- Qt Quick Controls
- Qt Quick アプリケーションを始める
- QMLのはじめの一歩
- QML用語集
- ビジュアルタイプ
- ポジショナーとレイアウト
- ユーザー入力の処理
- テキストの表示
- アニメーション
- QMLにおけるJavaScriptの統合
- Qt Quick 3D- 3D グラフィックス用アドオン
- QtShader Tools- シェーダー効果のアドオン
Qt Widgets ユーザーインターフェース
Qt Widgetsは、デスクトップ環境で一般的なユーザーインターフェイス要素です。ウィジェットは、Windows、Linux、macOS 上でネイティブなルック&フィールを提供し、基盤となるプラットフォームにうまく統合されます。ウィジェットは成熟した機能豊富なユーザーインターフェイス要素であり、ほとんどの伝統的なユーザーインターフェイスに適しています。これとは対照的に Qt Quickとは対照的に、ウィジェットは大規模なデスクトップ・アプリケーションを作成するためのものであり、流動的なインターフェイスを持つタッチ中心のアプリケーションを作成するのにはあまり適していません。
以下のリストには、Qt Widgets に関連する概要が含まれています:
- ウィジェットクラス
- アニメーションフレームワーク
- アプリケーション・メイン・ウィンドウ
- ダイアログウィンドウ
- ドラッグ&ドロップ
- ウィジェットとグラフィックス・ビューのジェスチャー
- レイアウト管理
- ウィンドウとダイアログのウィジェット
- スタイルとスタイルアウェアウィジェット
UIテクノロジーの比較
次の表は、Qt Quick とQt Widgets の比較で、それぞれの長所、限界、理想的な使用例を示しています:
| 特徴 | Qt Quick 機能Qt Quick Controls | Qt Widgets | 説明 |
|---|---|---|---|
| 主要言語 | QMLとJavaScript | C++ | Qt Quick は宣言型。Qt Widgets は命令型、古典的な C++。 |
| ネイティブなルック&フィール | はい(Qt Quick Controls スタイル経由)。 | はい(ネイティブ・デスクトップ・ウィジェット)。 | どちらもターゲット・プラットフォームでネイティブ・ルックアンドフィールをサポートする。 |
| カスタム・スタイル | はい(カスタマイズ可能なスタイル、カスタム QML コンポーネント)。 | はい(Qt スタイルシート)。 | 両フレームワークとも、異なるメカニズムによる広範なカスタムスタイリングが可能。 |
| 流れるようなアニメーションとトランジション | あり(GPU アクセラレーションによるアニメーション内蔵)。 | 制限あり(QPropertyAnimation でサポートされているが、流体 UI アニメーション用に設計されていない)。 | Qt Quick Qt Widgets はそうではありません。 |
| タッチサポート | あり(タッチおよびジェスチャー用に設計されている)。 | 制限あり(タッチイベントは存在するが、Qt Widgets はマウスとキーボード入力を想定している)。 | Qt Quick Qt Widgets 。優れたタッチUXのためには、より多くの手作業が必要です。 |
| 標準的な業界ウィジェット | あり(一般的なデスクトップ・コントロールを提供し、カスタム・コンポーネントは必要なウィジェットを実装できる)。 | はい(成熟した既製のデスクトップ・ウィジェットの豊富なセット)。 | Qt Quick はあらゆる種類のデスクトップ・コントロールを実装できるが、Qt Widgets には、より幅広い従来のウィジェット一式が最初から含まれている。 |
| モデル/ビュー・プログラミング | はい(ListView やTableView のようなデリゲートベースのビューによる柔軟なモデルサポート)。 | はい(QTableView 、QListView 、QTreeView など、クラシックな MVC ビューの包括的なセット)。 | Qt Quick は、デリゲートを使用して、データとプレゼンテーショ ンを明確に分離しています。Qt Widgets は、成熟したレディメイドのモデル/ビュークラスを多数提供しています。 |
| 迅速なUIプロトタイピング | あり(QMLでは非常に高速なイテレーションが可能)。 | あり(従来のUI、特に Qt Widgets Designer). | Qt Quick Qt Widgets を使えば、 を使ってクラシックなデスクトッ プインターフェースを素早く組み立てることができます。Qt Widgets Designer |
| ハードウェアアクセラレーテッドグラフィックス | はい(Qt Quick Scene Graphを介したGPUアクセラレーション)。 | 部分的に(ウィジェットはソフトウェアでレンダリングする。) | Qt Quick のみ、ビルトインのフルシーン GPU アクセラレーションを提供します。詳細はグラフィックを参照してください。 |
| グラフィック効果 | あり(シェーダーベースのブラー、グロー、ドロップシャドウ、カラーエフェクトなど)。 | 制限あり(基本的なエフェクトは Qt GUIのみ)。 | Qt Quick Qt Widgets シンプルなCPUエフェクトのみ。 |
| リッチテキスト処理。 | はい(Qt のリッチテキスト ドキュメント クラスはQt Quick とQt Quick Controls'TextArea で利用できますが、C++ の実装が必要な場合があります)。 | はい(QTextDocument 、QTextEdit 、および関連クラスによる完全なサポート)。 | Qt Quick は Qt のリッチテキストエンジンとQTextDocument を介して統合され、Qt Widgets はテキスト処理のための成熟したすぐに使えるクラス群を提供します。 |
注: Qt Widgets UI に QML ビューを表示することができます。詳しくはQt Quick ウィジェットを参照してください。
関連トピック
以下のページには、ユーザーインターフェースの設計と開発に関する詳細情報が含まれています:
- デザイン・ツール- デザイナーと開発者向けのユーザー・インターフェース・ツールの概要
- グラフィックス- グラフィックスの概要
- モデル/ビュープログラミング
- 高DPI
© 2026 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.