概要Qt Widgets Designer

Designerの起動
Qtのインストールが完了したら、開発ホスト上の他のアプリケーションと同様にQt Widgets Designer を起動できます。また、Qt Creator から直接Qt Widgets Designer を起動することも可能です。Qt Creator を実行すると、すべての.uiファイルが統合されたQt Widgets Designer で自動的に「デザイン」モードで開かれます。
一般的に、統合されたQt Widgets Designer には、スタンドアロンのQt Widgets Designer と同じ機能が含まれています。両者の違いに関する詳細については、『Qt Creator マニュアル』を参照してください。
Qt Creator の「デザイン」モードに収まらない大規模なフォームがある場合は、スタンドアロンのQt Widgets Designer で開くことができます。
ユーザーインターフェース
スタンドアロンアプリケーションとして使用する場合、Qt Widgets Designer のユーザーインターフェースは、マルチウィンドウユーザーインターフェース(デフォルトモード)として設定することも、ドッキングウィンドウモードで使用することも可能です。統合開発環境(IDE)内から使用する場合は、マルチウィンドウユーザーインターフェースのみが利用可能です。 モードの切り替えは、[編集] メニューの [環境設定] ダイアログで行えます。
マルチウィンドウモードでは、作業スタイルに合わせて各ツールウィンドウの配置を変更できます。メインウィンドウは、メニューバー、ツールバー、およびユーザーインターフェースの作成に使用できるウィジェットを含むウィジェットボックスで構成されています。
![]() | Qt Widgets Designerのメインウィンドウ メニューバーには、フォームの管理、クリップボードの使用、アプリケーション固有のヘルプへのアクセスなど、標準的な操作がすべて用意されています。また、現在の編集モード、ツールウィンドウ、および使用中のフォームにも、メニューバーからアクセスできます。 ツールバーには、フォームの編集時に使用される一般的な操作が表示されます。これらの操作は、メインメニューからも利用できます。 ウィジェットボックスには、コンポーネントの設計に使用される一般的なウィジェットやレイアウトが用意されています。これらは、用途や機能に応じてカテゴリ別に分類されています。 |
Qt Widgets Designer の機能のほとんどは、メニューバー、ツールバー、またはウィジェットボックスから利用できます。一部の機能は、フォームウィンドウ上で開くことができるコンテキストメニューからも利用できます。ほとんどのプラットフォームでは、マウスの右ボタンをクリックしてコンテキストメニューを開きます。
| Qt Widgets Designer's ウィジェットボックス ウィジェットボックスには、フォーム上でユーザーインターフェースを作成するために使用できる、標準的なQt Widgets、レイアウト、およびその他のオブジェクトが用意されています。ウィジェットボックス内の各カテゴリには、用途が似ている、あるいは関連する機能を持つウィジェットが含まれています。 カテゴリラベルの横にあるハンドルをクリックすると、そのカテゴリで利用可能なすべてのオブジェクトを表示できます。ウィジェット編集モードでは、ウィジェットボックスから適切な項目をフォーム上にドラッグし、必要な場所にドロップすることで、フォームにオブジェクトを追加できます。 Qt Widgets Designer スクラッチパッド機能により、頻繁に使用するオブジェクトを別のカテゴリにまとめておくことができます。 スクラッチパッドカテゴリには、フォームに現在表示されている任意のウィジェットを、フォームからウィジェットボックスへドラッグ&ドロップすることで追加できます。これらのウィジェットは他のウィジェットと同様に使用できますが、子ウィジェットを含めることも可能です。ウィジェット上でコンテキストメニューを開くと、その名前を変更したり、スクラッチパッドから削除したりできます。 |
Qtにおけるレイアウトの概念
レイアウトは、ユーザーインターフェースを構成する要素を配置・管理するために使用されます。Qt には、レイアウトを自動的に処理するためのクラスがいくつか用意されています。QHBoxLayout 、QVBoxLayout 、QGridLayout 、およびQFormLayout です。これらのクラスは、ウィジェットのレイアウトを自動的に行うという課題を解決し、予測可能な動作をするユーザーインターフェースを提供します。 幸いなことに、Qt Widgets Designer を使用してウィジェットを配置する際、レイアウトクラスに関する知識は必要ありません。代わりに、コンテキストメニューから「水平方向に配置」、「グリッドに配置」などのオプションを選択してください。
各Qtウィジェットには、sizeHint()として知られる推奨サイズがあります。レイアウトマネージャは、そのサイズヒントに合わせてウィジェットのサイズを変更しようとします。場合によっては、サイズを変更する必要がないこともあります。たとえば、QLineEdit の高さは、フォントサイズやスタイルに応じて常に固定値になります。 一方、QLineEdit の幅や、itemビューウィジェットの幅・高さなど、サイズを変更する必要がある場合もあります。ここで、ウィジェットのサイズ制約(minimumSize およびmaximumSize )が役立ちます。これらはプロパティエディタで設定できるプロパティです。 たとえば、デフォルトのsizeHint()を上書きするには、minimumSize とmaximumSize を同じ値に設定するだけです。あるいは、現在のサイズをサイズ制約値として使用するには、ウィジェットのコンテキストメニューから「サイズ制約」オプションのいずれかを選択します。 そうすることで、レイアウトはそれらの制約が満たされるように調整されます。コードでウィジェットのサイズを制御するには、コード内でsizeHint()を再実装することができます。
以下のスクリーンショットは、グリッドを使用して設計された基本的なユーザーインターフェースの構成を示しています。スクリーンショット上の座標は、グリッド内における各ウィジェットの位置を示しています。

注: グリッド内では 、QPushButton オブジェクトは実際にはネストされています。右側のボタンはまずQVBoxLayout 内に配置され、下部のボタンはまずQHBoxLayout 内に配置されます。最後に、それらはQGridLayout の座標(1,2)および(2,1)に配置されます。
これをイメージしやすくするために、レイアウトを「ウィジェットをきれいに配置しようとしながら、利用可能なスペースを最大限に活用するために、可能な限り縮小していく箱」だと考えてみてください。
Qtのレイアウトは、次のような場合に役立ちます:
- さまざまなウィンドウサイズに合わせてユーザーインターフェースのサイズを変更する場合。
- さまざまなローカライズに合わせて、ユーザーインターフェース内の要素のサイズを変更する場合。
- さまざまなプラットフォームのレイアウトガイドラインに従って要素を配置する場合。
これにより、プラットフォーム、設定、言語の違いに応じてウィジェットの配置を変更する手間がなくなります。
以下の例は、ローカライズの違いがユーザーインターフェースにどのような影響を与えるかを示しています。ローカライズによってテキスト文字列が長くなり、より多くのスペースが必要になった場合、Qt のレイアウトはこれに対応するために自動的に拡大縮小され、ユーザーインターフェースの見栄えを保ちつつ、プラットフォームのガイドラインにも準拠した状態を維持します。
| 英語版のダイアログ | フランス語のダイアログ |
|---|---|
|
|
ウィジェットのレイアウト処理は、ウィジェットのサイズ制約を可能な限り少なく設定しつつ、レイアウト階層を構築することから成ります。
Qtのレイアウトクラスに関するより技術的な詳細については、『レイアウト管理』のドキュメントを参照してください。
© 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.


