ユーザーインターフェース

Qt フレームワークの主なユーザーインターフェース技術はQt QuickQt Widgets です。Qt Quick インターフェースは流動的で動的で、タッチインターフェースに最適です。Qt ウィジェットは複雑なデスクトップアプリケーションを作成するためのものです。Qt Quick と Qt Widgets は、ターゲットプラットフォームのネイティブなルック&フィールでインターフェースを作成できます。

Qt Quick による UI の構築

Qt Quick は、動的で流動的なユーザーインターフェースを作成します。Qt Quick Controlsモジュールは、ボタン、ダイアログ、メニューなどの QML タイプを提供します。宣言型言語であるQML を使って UI を構築し、JavaScript でロジックを実装することができます。

以下のリストには、関連する概要が含まれています:

Qt ウィジェットユーザインタフェース

Qt ウィジェットは、デスクトップ環境で一般的なユーザーインターフェイス要素です。ウィジェットは、Windows、Linux、macOS でネイティブなルック&フィールを提供し、基盤となるプラットフォームにうまく統合されます。ウィジェットは成熟した機能豊富なユーザーインターフェイス要素であり、ほとんどの伝統的なユーザーインターフェイスに適しています。Qt Quick とは対照的に、ウィジェットは大規模なデスクトップアプリケーションを作成するためのものであり、流動的なインターフェイスを持つタッチ中心のアプリケーションの作成にはあまり適していません。

以下のリストには、Qt ウィジェットに関連する概要が含まれています:

UI インターフェイスの比較

以下の表は Qt ウィジェットと Qt Quick インターフェイスの比較です。

Qt Quick / Qt Quick コントロールQt ウィジェットコメント
使用言語QML/JSC++
ネイティブルックアンドフィールQt Widgets と Qt Quick Controls は、ターゲットプラットフォーム上でネイティブなルック&フィールをサポートします。
カスタムスタイルQt ウィジェットにはスタイルシートによるカスタマイズ機能があり、Qt クイックコントロールにはカスタマイズ可能なスタイルが用意されています。
流れるようなアニメーション UIQt ウィジェットは、アニメーション用にうまくスケールしません。Qt Quick は、宣言的な方法でアニメーションを実装する便利で自然な方法を提供します。
タッチスクリーンQt ウィジェットではマウスカーソルを使ったインタラクションが必要ですが、Qt Quick ではタッチインタラクションのための QML タイプが用意されています。
業界標準のウィジェットQt ウィジェットは、20 年以上かけて開発された、業界標準のアプリケーションを構築するために必要なすべての機能を提供します。
モデル/ビュープログラミングQt Quick は便利なビューを提供しますが、Qt ウィジェットはより便利で完全なフレームワークを提供します。Qt Quick ビューに加えて、Qt Quick Controls はTableView を提供します。
迅速な UI 開発Qt Quick は、迅速な UI プロトタイピングと開発に最適です。
ハードウェアアクセラレーションによるグラフィックスQt は、Qt Quick インターフェースと Qt Widgets インターフェースに対して、完全なハードウェアアクセラレーションを提供します。グラフィックスの概要に詳細があります。
グラフィカルエフェクトいくつかの Qt Quick モジュールはグラフィカルなエフェクトを提供し、Qt ウィジェットインタフェースはエフェクトにQt GUI を使用できます。
リッチテキスト処理Qt ウィジェットは現在、テキストエディタを実装するための最も包括的な基盤を提供しています。Qt のリッチテキスト・ドキュメント・クラスは、Qt Quick や Qt Quick Controls のTextArea でも利用できますが、C++ の実装が必要になる場合があります。

以下のページには、ユーザーインターフェースの設計と開発に関する詳細情報があります:

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