このページでは

QFocusFrame Class

QFocusFrame ウィジェットは、ウィジェットの通常の描画可能領域の外側に配置できるフォーカスフレームを提供します。詳細...

ヘッダー: #include <QFocusFrame>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
継承元: QWidget

パブリック関数

QFocusFrame(QWidget *parent = nullptr)
virtual ~QFocusFrame()
void setWidget(QWidget *widget)
QWidget *widget() const

プロテクトされた関数

virtual void initStyleOption(QStyleOption *option) const

再実装されたプロテクトされた関数

virtual bool event(QEvent *e) override
virtual bool eventFilter(QObject *o, QEvent *e) override
virtual void paintEvent(QPaintEvent *) override

詳細な説明

通常、アプリケーションが独自の QFocusFrame を作成する必要はありません。QStyle がこの詳細を処理してくれるからです。スタイル作成者は、オプションで QFocusFrame を使用して、ウィジェットのペイント可能なジオメトリの外側にフォーカス領域を設定することができます。 この方法では、ウィジェットがフォーカスを持つためにスペースを確保する必要はなく、QWidget に対してQFocusFrame::setWidget を設定するだけで済みます。ただし、カスタムウィジェット上で独自のQFocusFrameを作成し、QWidget::setGeometry を使用してそのジオメトリを手動で設定することも可能です。ただし、フォーカスされているウィジェットのサイズや配置が変更された場合、自動配置は行われません。

メンバ関数のドキュメント

QFocusFrame::QFocusFrame(QWidget *parent = nullptr)

QFocusFrame を生成します。

このフォーカスフレームは、parent の更新を監視せず、手動またはQFocusFrame::setWidget を使用して配置することができます。QFocusFrameはQt::WA_NoChildEventsForParent 属性を設定します。その結果、親ウィジェットはQEvent::ChildAdded イベントを受け取らなくなります。これにより、QSplitter やその他の子イベント監視ウィジェット内で、QFocusFrameのジオメトリを手動で設定することが可能になります。

QFocusFrame::setWidget()も参照してください 。

[virtual noexcept] QFocusFrame::~QFocusFrame()

デストラクタ。

[override virtual protected] bool QFocusFrame::event(QEvent *e)

QWidget::event(QEvent *event) を再実装します。

[override virtual protected] bool QFocusFrame::eventFilter(QObject *o, QEvent *e)

QObject::eventFilter (QObject *watched, QEvent *event)を再実装します。

[virtual protected] void QFocusFrame::initStyleOption(QStyleOption *option) const

option を、QFocusFrame に記載されている値で初期化します。この方法は、QStyleOption が必要だが、すべての情報を自分で入力したくないサブクラスにとって便利です。

QStyleOption::initFrom()も参照してください 。

[override virtual protected] void QFocusFrame::paintEvent(QPaintEvent *)

QWidget::paintEvent(QPaintEvent *event) を再実装します。

void QFocusFrame::setWidget(QWidget *widget)

QFocusFrame widget への変更を追跡し、自動的にサイズを調整します。監視対象のウィジェットの親が変更された場合、 はウィジェットに追従し、自動的にウィジェットの周囲に配置されます。監視対象のウィジェットが削除された場合、 はその値を 0 に設定します。QFocusFrame QFocusFrame

QFocusFrame::widget()も参照してください 。

QWidget *QFocusFrame::widget() const

自動でのサイズ変更および更新のために、現在監視対象となっているウィジェットを返します。

QFocusFrame::setWidget()も参照してください 。

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