Qt Widgets Designer用コンポーネントの作成と使用

カスタム ウィジェット プラグインの作成

Qt Widgets Designer 用のカスタム ウィジェット プラグインを実装する場合は、QDesignerCustomWidgetInterface をサブクラス化してカスタム ウィジェットをQt Widgets Designer に公開する必要があります。1 つのカスタム ウィジェット プラグインは、別のライブラリとして構築されます。複数のカスタムウィジェットプラグインを同じライブラリに含める場合は、さらにQDesignerCustomWidgetCollectionInterface をサブクラス化する必要があります。

Qt Widgets Designer のワークスペース内で期待される動作と機能をカスタム ウィジェット プラグインに提供するには、関連する拡張クラスをサブクラス化します:

QDesignerContainerExtension クラスを使用すると、カスタム・マルチページ・コンテナにページを追加できます。QDesignerTaskMenuExtension クラスを使用すると、Qt Widgets Designer のタスク メニューにカスタム メニュー エントリを追加できます。QDesignerMemberSheetExtension クラスを使用すると、Qt Widgets Designer のシグナルとスロットの編集モードを使用して接続を構成するときに表示されるウィジェットのメンバ関数を操作できます。最後に、QDesignerPropertySheetExtension クラスでは、Qt Widgets Designer のプロパティ・エディタで表示されるウィジェットのプロパティを操作できます。

Qt Widgets Designerでは、拡張機能は必要になるまで作成されません。そのため、拡張機能を実装する場合は、QExtensionFactory をサブクラス化する必要があります。つまり、拡張機能のインスタンスを作成できるクラスを作成する必要があります。さらに、Qt Widgets Designer のエクステンションマネージャにファクトリを登録させる必要があります。エクステンションマネージャは、必要に応じてエクステンションの構築を制御し、QDesignerFormEditorInterface およびQExtensionManager を介してアクセスできます。

エクステンションを使用してカスタムウィジェットプラグインを作成する完全な例については、タスクメニューエクステンションまたはコンテナエクステンションの例を参照してください。

Qt Widgets Designer コンポーネントへのアクセスの取得

このセクションで説明するクラスの目的は、Qt Widgets Designer のコンポーネント、マネージャ、およびワークスペースへのアクセスを提供することであり、直接インスタンス化することは意図していません。

Qt Widgets Designerはいくつかのコンポーネントで構成されています。アクションエディタ、プロパティエディタ、ウィジェットボックス、オブジェクトインスペクタがあり、ワークスペースで表示できます。

Qt Widgets このオブジェクトには、 Designerのすべてのコンポーネントを首尾一貫したアプリケーションに統合するロジックが含まれています。 を使用してこのオブジェクトにアクセスし、 Designer のコンポーネントのインターフェイスを取得できます:Qt Widgets QDesignerFormEditorInterface Qt Widgets

さらに、QDesignerFormEditorInterface を使用して、Qt Widgets Designer のエクステンション マネージャ (QExtensionManager) およびフォーム ウィンドウ マネージャ (QDesignerFormWindowManagerInterface) のインタフェースを取得できます。エクステンション マネージャは必要に応じてエクステンションの構築を制御し、フォーム ウィンドウ マネージャはQt Widgets Designer のワークスペースに表示されるフォーム ウィンドウを制御します。

Qt Widgets Designer のフォームウィンドウマネージャ (QDesignerFormWindowManagerInterface) へのインターフェイスを取得すると、Qt Widgets Designer のワークスペースに現在表示されているすべてのフォームウィンドウにもアクセスできるようになります:QDesignerFormWindowInterface クラスを使用すると、フォームウィンドウを照会および操作でき、フォームウィンドウのカーソルへのインターフェイスを提供します。QDesignerFormWindowCursorInterface は便利なクラスで、特定のフォームウィンドウのウィジェットの選択を照会および変更し、さらにフォームのすべてのウィジェットのプロパティを変更できます。

実行時のユーザーインターフェースの作成

QtDesigner モジュールにはQFormBuilder クラスがあり、Qt Widgets Designer で作成された UI ファイルに基づいて、実行時にユーザーインターフェースを動的に作成するメカニズムを提供します。このクラスは通常、Qt Widgets Designer を組み込んだカスタム コンポーネントやアプリケーションで使用されます。実行時にユーザー インターフェイスを動的に生成する必要があるスタンドアロン アプリケーションは、QtUiTools モジュールにあるQUiLoader クラスを使用します。

QUiLoader を使用した完全な例については、Calculator Builder の例を参照してください。

Qt Widgets Designer マニュアルおよび Qt UI Tools.

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