Auf dieser Seite

QFocusFrame Class

Das QFocusFrame-Widget stellt einen Fokusrahmen bereit, der sich außerhalb des normalen Zeichenbereichs eines Widgets befinden kann. Mehr...

Überschrift: #include <QFocusFrame>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von: QWidget

Öffentliche Funktionen

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

Geschützte Funktionen

virtual void initStyleOption(QStyleOption *option) const

Neu implementierte geschützte Funktionen

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

Ausführliche Beschreibung

Normalerweise muss eine Anwendung keinen eigenen `QFocusFrame` erstellen, da ` QStyle ` diese Aufgabe für Sie übernimmt. Ein Style-Writer kann optional einen `QFocusFrame` verwenden, um einen Fokusbereich außerhalb der malbaren Geometrie des Widgets zu definieren. Auf diese Weise muss kein Platz für das Widget reserviert werden, das den Fokus hat, sondern es reicht aus, mit ` QFocusFrame::setWidget` einen ` QWidget ` festzulegen. Es ist jedoch zulässig, einen eigenen `QFocusFrame` für ein benutzerdefiniertes Widget zu erstellen und dessen Geometrie manuell über ` QWidget::setGeometry ` festzulegen; allerdings erfolgt keine automatische Neupositionierung, wenn sich Größe oder Position des Widgets im Fokus ändern.

Dokumentation der Member-Funktionen

QFocusFrame::QFocusFrame(QWidget *parent = nullptr)

Erstellt einen QFocusFrame.

Der Fokusrahmen überwacht „ parent “ nicht auf Aktualisierungen, sondern kann manuell oder mithilfe von „ QFocusFrame::setWidget “ platziert werden. Ein QFocusFrame setzt das Attribut „ Qt::WA_NoChildEventsForParent “; infolgedessen erhält das übergeordnete Element kein „ QEvent::ChildAdded “-Ereignis. Dies ermöglicht es, die Geometrie des QFocusFrame innerhalb eines „ QSplitter “ oder eines anderen untergeordneten Widgets zur Ereignisüberwachung manuell festzulegen.

Siehe auch ` QFocusFrame::setWidget()`.

[virtual noexcept] QFocusFrame::~QFocusFrame()

Destruktor.

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

Umsetzt: QWidget::event(QEvent *event).

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

Implementiert neu: ` QObject::eventFilter` (`QObject *watched, QEvent *event`).

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

Initialisieren Sie ` option ` mit den Werten aus dieser Datei: QFocusFrame. Diese Methode ist für Unterklassen nützlich, wenn diese ein ` QStyleOption` benötigen, aber nicht alle Informationen selbst eingeben möchten.

Siehe auch ` QStyleOption::initFrom()`.

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

Umsetzt: ` QWidget::paintEvent(QPaintEvent *event)`.

void QFocusFrame::setWidget(QWidget *widget)

QFocusFrame verfolgt Änderungen an „ widget “ und passt seine Größe automatisch an. Wenn sich das übergeordnete Element des überwachten Widgets ändert, folgt „ QFocusFrame “ dem Widget und positioniert sich automatisch um das Widget herum. Wenn das überwachte Widget gelöscht wird, setzt „ QFocusFrame “ den Wert auf Null.

Siehe auch QFocusFrame::widget().

QWidget *QFocusFrame::widget() const

Gibt das aktuell überwachte Widget zurück, dessen Größe automatisch angepasst und aktualisiert wird.

Siehe auch „ 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.