Qt Widgets デザイナーのウィジェット編集モード

ウィジェット編集モードでは、オブジェクトをメインウィンドウのウィジェットボックスからフォームにドラッグしたり、編集したり、サイズを変更したり、フォーム上でドラッグしたり、フォーム間でドラッグしたりすることができます。オブジェクトのプロパティはインタラクティブに変更できるので、変更をすぐに確認できます。編集インターフェースは、簡単な操作で直感的に操作できるようになっていますが、Qtの強力なレイアウト機能をサポートしています。

新しいフォームを作成・編集するには、「ファイル」メニューを開き、「新規フォーム...」を選択するか、Ctrl+N キーを押します。既存のフォームを編集するには、FileメニューからOpen Form... を選択するか、Ctrl+O を押します。

どの時点でも、「ファイル」メニューから「名前を付けて保存...」オプションを選択することで、フォームを保存することができます。Qt Widgets Designerによって保存されたUIファイルには、使用されたオブジェクトに関する情報と、オブジェクト間の信号やスロットの接続の詳細が含まれています。

フォームの編集

デフォルトでは、新しいフォームはウィジェット編集モードで開かれます。他のモードから編集モードに切り替えるには、EditメニューからEdit Widgets を選択するか、F3キーを押します。

オブジェクトをフォームに追加するには、メイン・ウィジェット・ボックスからドラッグして、フォームの好きな場所にドロップします。一度ドロップしたオブジェクトは、ドラッグするか、カーソルキーを使って移動させることができる。Ctrlキーを同時に押すと、選択されたウィジェットはピクセル単位で移動し、カーソル・キーだけを使うと、移動時に選択されたウィジェットがグリッドにスナップします。オブジェクトはマウスの左ボタンでクリックすることで選択できます。Tabキーを使って選択範囲を変更することもできる.

ウィジェット・ボックスには様々なカテゴリーのオブジェクトがあり、必要に応じてフォームに配置することができます。もう少し準備が必要なオブジェクトは、コンテナ・ウィジェットだけです。これらについては、 Qt Widgets Designerでコンテナを使用する章で詳しく説明します。

オブジェクトの選択

フォーム上のオブジェクトは、マウスの左ボタンでクリックして選択します。オブジェクトが選択されると、リサイズハンドルが各コーナーと各辺の中点に表示され、リサイズ可能であることを示します。

さらにオブジェクトを選択するには、Controlキーを押しながらクリックします。複数のオブジェクトが選択されている場合、現在のオブジェクトには異なる色のリサイズハンドルが表示されます。

レイアウト内でウィジェットを移動するには、ShiftキーとControlキーを押しながらウィジェットをドラッグします。これにより、選択範囲がウィジェットの親レイアウトまで拡張されます。

また、オブジェクト・インスペクタでオブジェクトを選択することもできます。

ウィジェットが選択されると、カット、コピー、ペーストといった通常のクリップボード操作が可能になります。これらの操作はすべて、必要に応じて実行したり取り消したりすることができます。

以下のショートカットが使用できます:

アクションショートカット説明
カットCtrl+X選択したオブジェクトをクリップボードにコピーします。
コピーCtrl+C選択したオブジェクトをクリップボードにコピーします。
貼り付けCtrl+Vクリップボード内のオブジェクトをフォームに貼り付けます。
削除削除します。選択したオブジェクトを削除します。
オブジェクトのクローンCtrl+ドラッグ(マウスの左ボタン)選択されたオブジェクトまたはオブジェクトのグループのコピーを作成します。
プレビューCtrl+Rフォームのプレビューを表示します。

上記のアクションはすべて(クローンを除いて)、編集メニューとフォームのコンテキストメニューの両方からアクセスできます。これらのメニューには、オブジェクトをレイアウトする機能や、フォーム上のすべてのオブジェクトを選択するSelect All機能もあります。

ウィジェットはユニークなオブジェクトではないので、必要なだけコピーを作ることができます。ウィジェットを素早く複製するには、Ctrlキーを押しながらドラッグすることでクローンを作成できます。これにより、クリップボード操作よりも素早くウィジェットをコピーし、フォームに配置することができます。

ドラッグ&ドロップ

Qt Widgets Designer では、Qt が提供するドラッグ&ドロップ機能を幅広く利用できます。ウィジェットはウィジェット・ボックスからドラッグしてフォームにドロップできます。

ウィジェットは、フォーム上で「クローン」することもできます:Ctrlキーを押しながらウィジェットをドラッグすると、新しい位置にドラッグできるウィジェットのコピーが作成されます。

また、ウィジェットをオブジェクト・インスペクタにドロップすることで、ネストされたレイアウトを簡単に扱うことができます。

Qt Widgets Designer では、オブジェクトの選択をフォーム間でコピー、ペースト、ドラッグできます。この機能を使用して、同じフォームのコピーを複数作成し、それぞれのフォームで異なるレイアウトを試すことができます。

プロパティエディタ

プロパティエディタは、フォーム上で現在選択されているオブジェクトのプロパティを常に表示します。利用可能なプロパティは編集中のオブジェクトによって異なりますが、提供されるすべてのウィジェットには、オブジェクトの内部名であるobjectName や、オブジェクトとインタラクトできるかどうかを決定するプロパティであるenabled など、共通のプロパティがあります。

プロパティの編集

プロパティ・エディタは、標準 Qt 入力ウィジェットを使用して、フォーム上のオブジェクトのプロパティを管理します。テキスト・プロパティは行編集で表示され、整数プロパティはスピンボックスで表示され、ブーリアン・プロパティはチェックボックスで表示され、色やサイズなどの複合プロパティは入力ウィジェットのドロップダウンリストで表示されます。

変更されたプロパティは太字のラベルで表示されます。これらをリセットするには、右側の矢印ボタンをクリックします。

プロパティの変更は、同じプロパティを持つ選択されたすべてのオブジェクトに適用されます。

特定のプロパティは、プロパティエディタによって特別に扱われます:

  • 複合プロパティ(複数の値で構成されるプロパティ)は、展開可能なノードとして表現され、値を編集することができます。
  • 選択肢やフラグの選択を含むプロパティは、チェック可能な項目を持つコンボボックスによって編集されます。
  • QPalette などのリッチなデータ型にアクセスできるプロパティは、プロパティが編集されたときに開くダイアログを使用して変更されます。QLabel およびウィジェット・ボックスのButtonsセクションのウィジェットにはtext プロパティがあり、ウィジェットをダブルクリックするかF2 キーを押すことによって編集することもできます。 Qt Widgets Designerはバックスラッシュ(◆)文字を特別に解釈し、テキストに改行(◆n)文字を挿入できるようにします。編集中にコンテキストメニューを開くこともでき、テキストに特殊文字や改行を挿入する別の方法を提供します。

ダイナミック・プロパティ

プロパティ・エディタは、標準 Qt ウィジェットやフォーム自体に新しいdynamic properties を追加するためにも使用できます。Qt 4.4 以降、ダイナミック・プロパティの追加と削除は、プロパティ・エディタのツールバーから行います。

ダイナミック・プロパティを追加するには、Addボタン をクリックします。削除するには、代わりにRemoveボタン をクリックします。ま た、「Configure」ボ タ ン を ク リ ッ ク す る こ と に よ っ て、 プ ロ パテ ィ をアルフ ァ ベ ッ ト 順に並べ替えたり、 カ ラ ー群を変更す る こ と も で き ます。

オブジェクトインスペクタ

オブジェクトインスペクタ

オブジェクト・インスペクタには、現在編集中のフォーム上のすべてのオブジェクトの階層リストが表示されます。コンテナウィジェットやレイアウトの子オブジェクトを表示するには、オブジェクトラベルの横にあるハンドルをクリックします。

フォーム上の各オブジェクトは、オブジェクト・インスペクタの対応する項目をクリックすることで選択できます。右クリックすると、フォームのコンテキストメニューが開きます。これらの機能は、多くのオブジェクトが重なっている場合に便利です。オブジェクトインスペクタでオブジェクトを検索するには、Ctrl+F を使用します。

Qt 4.4 以降では、オブジェクトの名前をダブルクリックすると、インプレース・エディタでオブジェクトの名前を変更できます。

Qt 4.5 から、オブジェクトインスペクタにコンテナのレイアウト状態が表示されるようになりました。レイアウトに異常がある場合は、壊れたレイアウトアイコン ###ICON が表示されます。

© 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.