QDesignerFormWindowInterface Class

QDesignerFormWindowInterface クラスを使用すると、Qt Widgets Designer のワークスペースに表示されるフォームウィンドウを照会および操作できます。詳細...

ヘッダー #include <QDesignerFormWindowInterface>
CMake.FormWindowInterfaceクラス find_package(Qt6 REQUIRED COMPONENTS Designer)
target_link_libraries(mytarget PRIVATE Qt6::Designer)
qmake: QT += designer
継承: QWidget

パブリックな型

flags Feature
enum FeatureFlag { EditFeature, GridFeature, TabOrderFeature, DefaultFeature }
enum ResourceFileSaveMode { SaveAllResourceFiles, SaveOnlyUsedResourceFiles, DontSaveResourceFiles }

パブリック関数

QDesignerFormWindowInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = {})
virtual ~QDesignerFormWindowInterface()
virtual QDir absoluteDir() const = 0
QStringList activeResourceFilePaths() const
virtual void addResourceFile(const QString &path) = 0
virtual QString author() const = 0
virtual QStringList checkContents() const = 0
virtual QString comment() const = 0
virtual QString contents() const = 0
virtual QDesignerFormEditorInterface *core() const
virtual QDesignerFormWindowCursorInterface *cursor() const = 0
virtual void emitSelectionChanged() = 0
virtual QString exportMacro() const = 0
virtual QDesignerFormWindowInterface::Feature features() const = 0
virtual QString fileName() const = 0
virtual QWidget *formContainer() const = 0
virtual QPoint grid() const = 0
virtual bool hasFeature(QDesignerFormWindowInterface::Feature feature) const = 0
virtual QStringList includeHints() const = 0
virtual bool isDirty() const = 0
virtual bool isManaged(QWidget *widget) const = 0
virtual void layoutDefault(int *margin, int *spacing) = 0
virtual void layoutFunction(QString *margin, QString *spacing) = 0
virtual QString pixmapFunction() const = 0
virtual void removeResourceFile(const QString &path) = 0
virtual QDesignerFormWindowInterface::ResourceFileSaveMode resourceFileSaveMode() const = 0
virtual QStringList resourceFiles() const = 0
virtual void setAuthor(const QString &author) = 0
virtual void setComment(const QString &comment) = 0
virtual bool setContents(QIODevice *device, QString *errorMessage = 0) = 0
virtual void setExportMacro(const QString &exportMacro) = 0
virtual void setIncludeHints(const QStringList &includeHints) = 0
virtual void setLayoutDefault(int margin, int spacing) = 0
virtual void setLayoutFunction(const QString &margin, const QString &spacing) = 0
virtual void setMainContainer(QWidget *mainContainer) = 0
virtual void setPixmapFunction(const QString &pixmapFunction) = 0
virtual void setResourceFileSaveMode(QDesignerFormWindowInterface::ResourceFileSaveMode behavior) = 0

パブリックスロット

void activateResourceFilePaths(const QStringList &paths, int *errorCount = nullptr, QString *errorMessages = nullptr)
virtual void clearSelection(bool update = true) = 0
virtual void manageWidget(QWidget *widget) = 0
virtual void selectWidget(QWidget *widget, bool select = true) = 0
virtual bool setContents(const QString &contents) = 0
virtual void setDirty(bool dirty) = 0
virtual void setFeatures(QDesignerFormWindowInterface::Feature features) = 0
virtual void setFileName(const QString &fileName) = 0
virtual void setGrid(const QPoint &grid) = 0
virtual void unmanageWidget(QWidget *widget) = 0

シグナル

void aboutToUnmanageWidget(QWidget *widget)
void activated(QWidget *widget)
void changed()
void featureChanged(QDesignerFormWindowInterface::Feature feature)
void fileNameChanged(const QString &fileName)
void geometryChanged()
void mainContainerChanged(QWidget *mainContainer)
void objectRemoved(QObject *object)
void resourceFilesChanged()
void selectionChanged()
void widgetManaged(QWidget *widget)
void widgetRemoved(QWidget *widget)
void widgetUnmanaged(QWidget *widget)

静的パブリック・メンバー

QDesignerFormWindowInterface *findFormWindow(QObject *object)
QDesignerFormWindowInterface *findFormWindow(QWidget *widget)

詳細説明

QDesignerFormWindowInterfaceは、関連するフォームウィンドウに関する情報を提供し、そのプロパティを変更できるようにします。このインターフェイスは直接インスタンス化することを意図しておらず、Qt Widgets Designer のform window manager によって制御されるQt Widgets Designer の現在のフォームウィンドウへのアクセスを提供します。

特定のウィジェットを含むフォームウィンドウを探す場合は、静的なQDesignerFormWindowInterface::findFormWindow() 関数を使用できます:

    auto *formWindow = QDesignerFormWindowInterface::findFormWindow(myWidget);

また、Qt Widgets Designer のフォーム ウィンドウ マネージャを使用して、現在のフォーム ウィンドウにアクセスすることもできます:QDesignerFormEditorInterface::formWindowManager() 関数を使用して、マネージャへのインターフェイスを取得します。このインターフェイスを取得すると、QDesignerFormWindowManagerInterface::formWindow() 関数を使用して、Qt Widgets Designer の現在のすべてのフォーム ウィンドウにアクセスできます。例えば

    QList<QDesignerFormWindowInterface *> forms;

    auto *manager = formEditor->formWindowManager();

    for (int i = 0; i < manager->formWindowCount(); ++i)
        forms.append(manager->formWindow(i));

Qt Widgets Designerの現在のQDesignerFormEditorInterface オブジェクト(上記の例ではformEditor )へのポインタは、QDesignerCustomWidgetInterface::initialize ()関数のパラメータによって提供されます。カスタム ウィジェット プラグインを実装する場合は、QDesignerCustomWidgetInterface クラスをサブクラス化して、プラグインをQt Widgets Designer に公開する必要があります。

フォームウィンドウを取得すると、そのプロパティをクエリできます。たとえば、プレーンのカスタム ウィジェット プラグインは、Qt Widgets Designer によってトップ レベルでのみ管理されます。つまり、子ウィジェットはQt Widgets Designer のワークスペースでサイズ変更できません。しかし、QDesignerFormWindowInterfaceには、ウィジェットをQt Widgets Designerで管理するかどうかを制御できる関数が用意されています:

        if (formWindow->isManaged(myWidget))
            formWindow->manageWidget(myWidget->childWidget);

ウィジェット管理に関する関数の完全なリストは、isManaged()、manageWidget()、unmanageWidget()です。また、widgetManaged()、widgetRemoved()、aboutToUnmanageWidget()、widgetUnmanaged()。

ウィジェットの管理だけでなく、selectWidget()、clearSelection()、emitSelectionChanged()関数や、selectionChanged()シグナルを使用して、フォーム・ウィンドウの現在の選択を制御することもできます。

また、absoluteDir()を使ってフォームの保存場所、includeHints()を使ってインクルード・ファイル、layoutDefault()、layoutFunction()、pixmapFunction()を使ってレイアウトやピクセルマップ関数の情報を取得することもできます。フォーム・ウィンドウが変更されたかどうか(保存されていないかどうか)は、isDirty() 関数で調べることができます。author(),contents(),fileName(),comment(),exportMacro(), mainContainer(),features(),grid(),resourceFiles() を取得することができます。

インターフェイスには関数とスロットが用意されており、これらの情報のほとんどを変更することができます。例外は、フォーム・ウィンドウを格納するディレクトリです。最後に、上記の情報やフォーム・ウィンドウ全般の変更に関連するシグナルがいくつかあります。

QDesignerFormWindowCursorInterfaceQDesignerFormEditorInterfaceQDesignerFormWindowManagerInterfaceも参照のこと

メンバ型ドキュメント

enum QDesignerFormWindowInterface::FeatureFlag
flags QDesignerFormWindowInterface::Feature

この列挙型は、フォーム・ウィンドウ・インターフェースで使用可能で制御可能な機能を記述します。これらの値は、フォーム・ウィンドウがどの機能をサポートしているかを問い合わせるときに使用されます:

定数説明
QDesignerFormWindowInterface::EditFeature0x01フォーム編集
QDesignerFormWindowInterface::GridFeature0x02編集のためのグリッド表示とスナップ・ツー・グリッド機能
QDesignerFormWindowInterface::TabOrderFeature0x04タブの順序管理
QDesignerFormWindowInterface::DefaultFeatureEditFeature | GridFeatureデフォルト機能のサポート(フォーム編集とグリッド)

Feature型はQFlags<FeatureFlag>の型定義である。これは、FeatureFlag値のORの組み合わせを格納します。

hasFeature() およびfeatures()も参照してください

enum QDesignerFormWindowInterface::ResourceFileSaveMode

この列挙型は、リソースファイルの保存方法を記述する。

定数説明
QDesignerFormWindowInterface::SaveAllResourceFiles0すべてのリソースファイルを保存します。
QDesignerFormWindowInterface::SaveOnlyUsedResourceFiles1フォームが使用するリソースファイルを保存します。
QDesignerFormWindowInterface::DontSaveResourceFiles2リソースファイルを保存しない

メンバ関数説明

[explicit] QDesignerFormWindowInterface::QDesignerFormWindowInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = {})

与えられたparent と指定されたウィンドウflags を持つフォームウィンドウインターフェイスを構築します。

[virtual noexcept] QDesignerFormWindowInterface::~QDesignerFormWindowInterface()

フォームウィンドウのインターフェースを破棄する。

[signal] void QDesignerFormWindowInterface::aboutToUnmanageWidget(QWidget *widget)

このシグナルは、フォーム上のウィジェットが管理対象外になりそうなときに発せられる。このシグナルが発せられたとき、指定されたwidget はまだ管理されており、widgetUnmanaged() シグナルに続いて、管理されなくなったことを示します。

unmanageWidget() およびisManaged()も参照してください

[pure virtual] QDir QDesignerFormWindowInterface::absoluteDir() const

フォームウィンドウに表示されているフォームを含むディレクトリの絶対位置を返します。

[slot] void QDesignerFormWindowInterface::activateResourceFilePaths(const QStringList &paths, int *errorCount = nullptr, QString *errorMessages = nullptr)

リソース(.qrc)ファイルのパスpaths をアクティブにし、errorCount のエラー・カウントとerrorMessages のエラー・メッセージを返します。 Qt Widgets Designer はQResource クラスを使用してリソースをロードし、フォーム編集で使用できるようにします。

IDE統合では、プロジェクトのリソース(.qrc)ファイルのリストをアクティブにして、Qt Widgets Designerで使用できるようにすることができます。

activeResourceFilePaths() およびQResourceも参照してください

[signal] void QDesignerFormWindowInterface::activated(QWidget *widget)

このシグナルは、フォーム上でウィジェットがアクティベートされるたびに発行される。アクティブ化されたウィジェットはwidget で指定します。

QStringList QDesignerFormWindowInterface::activeResourceFilePaths() const

Qt Widgets Designer に現在ロードされているアクティブなリソース (.qrc) ファイルのパスを返します。

activateResourceFilePaths()も参照してください

[pure virtual] void QDesignerFormWindowInterface::addResourceFile(const QString &path)

指定されたpath にあるリソースファイルを、フォームが使用するリソースファイルに追加する。

resourceFiles() およびresourceFilesChanged()も参照

[pure virtual] QString QDesignerFormWindowInterface::author() const

現在ウィンドウに表示されているフォームの作者または作成者の詳細を返します。

setAuthor()も参照ください

[signal] void QDesignerFormWindowInterface::changed()

このシグナルはフォームが変更されるたびに発行される。

[pure virtual] QStringList QDesignerFormWindowInterface::checkContents() const

現在のフォームのチェックを行い、潜在的な問題 (例えば、フォームのトップレベルのスペーサーなど) についてのリッチテキスト警告のリストを返します。

IDE 統合は、保存操作を開始する前にこれを呼び出すことができます。

[pure virtual slot] void QDesignerFormWindowInterface::clearSelection(bool update = true)

フォーム・ウィンドウの現在の選択範囲をクリアする。update が真なら、emitSelectionChanged() 関数が呼ばれ、selectionChanged() シグナルを発する。

selectWidget()も参照

[pure virtual] QString QDesignerFormWindowInterface::comment() const

現在ウィンドウに表示されているフォームに関するコメントを返します。

setComment()も参照ください

[pure virtual] QString QDesignerFormWindowInterface::contents() const

現在ウィンドウに表示されているフォームの内容の詳細を返します。

setContents()も参照してください

[virtual] QDesignerFormEditorInterface *QDesignerFormWindowInterface::core() const

Qt Widgets Designer の現在のQDesignerFormEditorInterface オブジェクトへのポインタを返します。

[pure virtual] QDesignerFormWindowCursorInterface *QDesignerFormWindowInterface::cursor() const

フォームウィンドウが使用するカーソルインターフェイスを返します。

[pure virtual] void QDesignerFormWindowInterface::emitSelectionChanged()

selectionChanged() シグナルを発する。

selectWidget() およびclearSelection()も参照

[pure virtual] QString QDesignerFormWindowInterface::exportMacro() const

現在ウィンドウに表示されているフォームに関連付けられたエクスポート・マクロを返します。エクスポート マクロは、フォームがコンパイルされてウィジェット プラグインが作成されるときに使用されます。

setExportMacro() および Qt Widgets Designer 用カスタムウィジェットの作成も参照してください

[signal] void QDesignerFormWindowInterface::featureChanged(QDesignerFormWindowInterface::Feature feature)

このシグナルは、フォームのフィーチャーが変更されるたびに発せられる。新しいフィーチャーはfeature で指定される。

setFeatures()も参照してください

[pure virtual] QDesignerFormWindowInterface::Feature QDesignerFormWindowInterface::features() const

インターフェイスに関連付けられたフォームウィンドウが提供する機能の組み合わせを返す。返された値をFeature enum の値と比較することで、どの機能がウィンドウでサポートされているかを判定することができます。

setFeatures() およびhasFeature()も参照

[pure virtual] QString QDesignerFormWindowInterface::fileName() const

現在表示されているフォームを記述する UI ファイルのファイル名を返します。

setFileName()も参照してください

[signal] void QDesignerFormWindowInterface::fileNameChanged(const QString &fileName)

このシグナルは、フォームのファイル名が変更されるたびに発せられる。新しいファイル名はfileName で指定される。

setFileName()も参照のこと

[static] QDesignerFormWindowInterface *QDesignerFormWindowInterface::findFormWindow(QObject *object)

与えられたobject のフォームウィンドウインターフェイスを返します。

[static] QDesignerFormWindowInterface *QDesignerFormWindowInterface::findFormWindow(QWidget *widget)

与えられたwidget のフォームウィンドウインターフェイスを返します。

[pure virtual] QWidget *QDesignerFormWindowInterface::formContainer() const

メインコンテナウィジェットを含むウィジェットのフォームを返します。

[signal] void QDesignerFormWindowInterface::geometryChanged()

このシグナルは、フォームのジオメトリが変更されるたびに発行される。

[pure virtual] QPoint QDesignerFormWindowInterface::grid() const

フォームウィンドウが使用するグリッド間隔を返します。

setGrid()も参照 ください。

[pure virtual] bool QDesignerFormWindowInterface::hasFeature(QDesignerFormWindowInterface::Feature feature) const

フォームウィンドウが指定されたfeature を提供している場合は true を返し、そうでない場合は false を返します。

features()も参照してください

[pure virtual] QStringList QDesignerFormWindowInterface::includeHints() const

フォームウィンドウの関連 UI ファイルに含まれるヘッダーファイルのリストを返します。

ヘッダーファイルは、ローカルなもの、つまりプロジェクトのディレクトリに相対的なもの、"mywidget.h" 、グローバルなもの、つまりQtやコンパイラの標準ライブラリの一部、<QtGui/QWidget>

setIncludeHints()も参照してください

[pure virtual] bool QDesignerFormWindowInterface::isDirty() const

フォームウィンドウが "dirty" (変更されたが保存されていない) なら true を返し、そうでないなら false を返します。

setDirty()も参照してください

[pure virtual] bool QDesignerFormWindowInterface::isManaged(QWidget *widget) const

指定されたwidget がフォームウィンドウで管理されている場合は true を返し、そうでない場合は false を返します。

manageWidget()も参照してください

[pure virtual] void QDesignerFormWindowInterface::layoutDefault(int *margin, int *spacing)

フォームのデフォルトレイアウトのマージンとスペーシングを、指定されたmarginspacing 変数に記入します。

setLayoutDefault()も参照してください

[pure virtual] void QDesignerFormWindowInterface::layoutFunction(QString *margin, QString *spacing)

フォームレイアウトの現在のマージンとスペーシングを、指定された変数marginspacing に記入します。

setLayoutFunction()も参照

[signal] void QDesignerFormWindowInterface::mainContainerChanged(QWidget *mainContainer)

このシグナルは、メインコンテナが変更されるたびに発行される。新しいコンテナはmainContainer で指定される。

setMainContainer()も参照のこと

[pure virtual slot] void QDesignerFormWindowInterface::manageWidget(QWidget *widget)

指定されたwidget を管理するようにフォーム・ウィンドウに指示する。

isManaged(),unmanageWidget(),widgetManaged()も参照

[signal] void QDesignerFormWindowInterface::objectRemoved(QObject *object)

このシグナルは、オブジェクト(アクションやQButtonGroup など)がフォームから削除されるたびに発せられる。削除されたオブジェクトはobject で指定される。

[pure virtual] QString QDesignerFormWindowInterface::pixmapFunction() const

フォームウィンドウに pixmap を読み込むために使用される関数の名前を返します。

setPixmapFunction()も参照してください

[pure virtual] void QDesignerFormWindowInterface::removeResourceFile(const QString &path)

指定されたpath にあるリソースファイルを、フォームが使用する リストの中から削除する。

resourceFiles() およびresourceFilesChanged()も参照

[pure virtual] QDesignerFormWindowInterface::ResourceFileSaveMode QDesignerFormWindowInterface::resourceFileSaveMode() const

リソースファイル保存モードの動作を返します。

setResourceFileSaveMode()も参照ください

[pure virtual] QStringList QDesignerFormWindowInterface::resourceFiles() const

フォーム・ウィンドウが現在使用しているリソース・ファイルのパスのリストを返します。

addResourceFile() およびremoveResourceFile()も参照

[signal] void QDesignerFormWindowInterface::resourceFilesChanged()

このシグナルは、フォームが使用するリソースファイルのリストが変更されるたびに発行されます。

resourceFiles()も参照してください

[pure virtual slot] void QDesignerFormWindowInterface::selectWidget(QWidget *widget, bool select = true)

select が真なら、与えられたwidget が選択され、そうでなければwidget が選択解除される。

clearSelection() およびselectionChanged()も参照

[signal] void QDesignerFormWindowInterface::selectionChanged()

このシグナルは、フォームの選択範囲が変更されるたびに発せられる。

selectWidget() およびclearSelection()も参照

[pure virtual] void QDesignerFormWindowInterface::setAuthor(const QString &author)

フォームの作成者または作成者の詳細を、指定されたauthor に設定します。

author()も参照してください

[pure virtual] void QDesignerFormWindowInterface::setComment(const QString &comment)

フォームに関する情報をcomment に設定する。この情報は、フォームに関する人間が読めるコメントでなければなりません。

comment()も参照のこと

[pure virtual slot] bool QDesignerFormWindowInterface::setContents(const QString &contents)

指定されたcontents 文字列から読み込んだデータを使ってフォームの内容を設定し、操作が成功したかどうかを返します。

contents()も参照のこと

[pure virtual] bool QDesignerFormWindowInterface::setContents(QIODevice *device, QString *errorMessage = 0)

与えられたdevice から取得したデータを使ってフォームの内容を設定し、読み込みが成功したかどうかを返す。失敗した場合は、エラーメッセージがerrorMessage に返されます。

データはQFile オブジェクトまたはQIODevice の他のサブクラスから読み込むことができます。

[pure virtual slot] void QDesignerFormWindowInterface::setDirty(bool dirty)

dirty がtrueの場合、フォーム・ウィンドウはダーティとマークされ、修正されたが保存されていないことを意味する。dirty が false の場合、フォーム・ウィンドウは変更されていないとみなされます。

isDirty()も参照してください

[pure virtual] void QDesignerFormWindowInterface::setExportMacro(const QString &exportMacro)

フォームウィンドウのエクスポートマクロをexportMacro に設定します。 エクスポートマクロは、フォームのインターフェイスを他のコンポーネントにエクスポートするためにウィジェットプラグインをビルドするときに使われます。

exportMacro()も参照してください

[pure virtual slot] void QDesignerFormWindowInterface::setFeatures(QDesignerFormWindowInterface::Feature features)

指定されたfeatures をフォーム・ウィンドウに対して有効にします。

features() およびfeatureChanged()も参照

[pure virtual slot] void QDesignerFormWindowInterface::setFileName(const QString &fileName)

フォームのファイル名を、与えられたfileName に設定します。

fileName() およびfileNameChanged()も参照

[pure virtual slot] void QDesignerFormWindowInterface::setGrid(const QPoint &grid)

フォームウィンドウのグリッドサイズをgrid で指定された点に設定する。この関数では、QPoint の座標を使ってグリッドの矩形の寸法を指定します。

grid()も参照してください

[pure virtual] void QDesignerFormWindowInterface::setIncludeHints(const QStringList &includeHints)

フォームウィンドウの関連 UI ファイルに含まれるヘッダーファイルを、指定されたincludeHints に設定します。

ヘッダーファイルは、ローカルなもの、つまりプロジェクトのディレクトリに相対的なもの、"mywidget.h" 、またはグローバルなもの、つまり Qt やコンパイラの標準ライブラリの一部である<QtGui/QWidget> があります。

includeHints()も参照してください

[pure virtual] void QDesignerFormWindowInterface::setLayoutDefault(int margin, int spacing)

フォームのレイアウトのデフォルトmarginspacing を設定します。

layoutDefault()も参照してください

[pure virtual] void QDesignerFormWindowInterface::setLayoutFunction(const QString &margin, const QString &spacing)

フォームのレイアウトにmarginspacing を設定します。

デフォルトのレイアウト・プロパティは、uic がフォームのコードを生成するとき、つまり関数が指定されたときに、対応するレイアウト関数に置き換えられます。これは、異なる環境で同じフォームに異なるレイアウトが要求される場合に便利です。

layoutFunction()も参照してください

[pure virtual] void QDesignerFormWindowInterface::setMainContainer(QWidget *mainContainer)

フォームのメインコンテナウィジェットを指定されたmainContainer に設定します。

mainContainerChanged()も参照

[pure virtual] void QDesignerFormWindowInterface::setPixmapFunction(const QString &pixmapFunction)

フォームウィンドウに pixmap を読み込む関数を、与えられたpixmapFunction に設定します。

pixmapFunction()も参照してください

[pure virtual] void QDesignerFormWindowInterface::setResourceFileSaveMode(QDesignerFormWindowInterface::ResourceFileSaveMode behavior)

リソースファイルの保存モードを設定するbehavior

resourceFileSaveMode()も参照

[pure virtual slot] void QDesignerFormWindowInterface::unmanageWidget(QWidget *widget)

指定されたwidget を管理しないようにフォーム・ウィンドウに指示する。

aboutToUnmanageWidget() およびwidgetUnmanaged()も参照のこと

[signal] void QDesignerFormWindowInterface::widgetManaged(QWidget *widget)

このシグナルは、フォーム上のウィジェットがマネージドになるたびに発せられる。新しく管理されるウィジェットはwidget で指定されます。

manageWidget()も参照してください

[signal] void QDesignerFormWindowInterface::widgetRemoved(QWidget *widget)

このシグナルは、フォームからウィジェットが削除されるたびに発行される。削除されたウィジェットはwidget で指定します。

[signal] void QDesignerFormWindowInterface::widgetUnmanaged(QWidget *widget)

このシグナルは、フォーム上のウィジェットがアンマネージドになるたびに発行される。新しく解放されたウィジェットはwidget で指定されます。

unmanageWidget() とaboutToUnmanageWidget()も参照してください

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