ユーザーインターフェース
Qt フレームワークの主なユーザーインターフェース技術はQt QuickとQt Widgets です。Qt Quick インターフェースは流動的で動的で、タッチインターフェースに最適です。Qt ウィジェットは複雑なデスクトップアプリケーションを作成するためのものです。Qt Quick と Qt Widgets は、ターゲットプラットフォームのネイティブなルック・アンド・フィールでインターフェースを作成できます。
Qt Quick による UI の構築
Qt Quick は動的で流動的なユーザーインターフェースを作成します。Qt Quick Controlsモジュールは、ボタン、ダイアログ、メニューなどの QML タイプを提供します。宣言型言語であるQML を使って UI を構築し、JavaScript を使ってロジックを実装することができます。
以下のリストには、関連する概要が含まれています:
- Qt Quick Controls (英語)
- QMLアプリケーション- QML入門
- QMLにおける視覚的な型
- QML におけるユーザ入力への応答
- QML におけるアニメーション
- QMLでのテキストの表示
- QMLでのレイアウト
- スタイルとテーマのサポート
- QMLにおけるJavaScriptの統合
- Qt Quick 3D- 3Dグラフィックス用アドオン
- Qt Shader Tools- シェーダー効果のアドオン
Qt ウィジェットユーザインタフェース
Qt Widgetsは、デスクトップ環境で一般的なユーザーインターフェイス要素です。ウィジェットは、Windows、Linux、macOS でネイティブなルック&フィールを提供し、基盤となるプラットフォームにうまく統合されます。ウィジェットは成熟した機能豊富なユーザーインターフェイス要素であり、ほとんどの伝統的なユーザーインターフェイスに適しています。Qt Quick とは対照的に、ウィジェットは大規模なデスクトップアプリケーションを作成するためのものであり、流動的なインターフェイスを持つタッチ中心のアプリケーションの作成にはあまり適していません。
Qt ウィジェットに関する概要は以下の通りです:
- ウィジェットクラス
- アニメーション・フレームワーク
- アプリケーション・メイン・ウィンドウ
- ダイアログウィンドウ
- ドラッグ&ドロップ
- ウィジェットとグラフィック・ビューのジェスチャー
- レイアウト管理
- ウィンドウとダイアログのウィジェット
- スタイルとスタイル認識ウィジェット
UI インターフェイスの比較
以下の表は Qt Widgets と Qt Quick のインターフェースの比較です。
Qt Quick / Qt Quick コントロール | Qt ウィジェット | コメント | |
---|---|---|---|
使用言語 | QML/JS | C++ | |
ネイティブルックアンドフィール | Qt Widgets と Qt Quick Controls は、ターゲットプラットフォームのネイティブなルック&フィールをサポートしています。 | ||
カスタムスタイル | Qt Widgets はスタイルシートによるカスタマイズを提供し、Qt Quick Controls はカスタマイズ可能なスタイルを選択できます。 | ||
流れるようなアニメーション UI | Qt ウィジェットは、アニメーション用にうまくスケールしません。Qt Quick は、宣言的な方法でアニメーションを実装する便利で自然な方法を提供します。 | ||
タッチスクリーン | Qt Widgets ではマウスカーソルを使ったインタラクションが必要ですが、Qt Quick ではタッチインタラクションのための QML 型が用意されています。 | ||
業界標準のウィジェット | Qt Widgets は、20 年以上にわたって開発されてきた、業界標準のアプリケーションを構築するために必要なすべての機能を提供します。 | ||
モデル/ビュープログラミング | Qt Quick は便利なビューを提供しますが、Qt Widgets はより便利で完全なフレームワークを提供します。Qt Quick ビューに加えて、Qt Quick Controls はTableView を提供します。 | ||
迅速な UI 開発 | Qt Quick は迅速な UI プロトタイピングと開発に最適です。 | ||
ハードウェアアクセラレーションによるグラフィックス | Qt は、Qt Quick インターフェースと Qt Widgets インターフェースに完全なハードウェアアクセラレーションを提供し、ソフトウェアでレンダリングします。グラフィックスの概要に詳細があります。 | ||
グラフィカルエフェクト | いくつかの Qt Quick モジュールはグラフィカルエフェクトを提供し、Qt ウィジェットインタフェースはQt GUI を使ってエフェクトをかけることができます。 | ||
リッチテキスト処理 | Qt Widgets は現在、テキストエディタを実装するための最も包括的な基盤を提供しています。Qt のリッチテキストドキュメントクラスは Qt Quick や Qt Quick Controls のTextArea でも利用できますが、C++ の実装が必要になる場合があります。 | ||
関連トピック
以下のページには、ユーザーインターフェースの設計と開発に関する詳細情報があります:
- Design Tools- デザイナーと開発者のためのユーザー・インターフェース・ツールの概要
- グラフィックス- グラフィックスの概要
- モデル/ビュー・プログラミング
- 高 DPI
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。