"""
PySide stub files generated by **IceSpringPySideStubs**

Home: https://baijifeilong.github.io/2022/01/06/ice-spring-pyside-stubs/index.html

Github: https://github.com/baijifeilong/IceSpringPySideStubs

PyPI(PySide2): https://pypi.org/project/IceSpringPySideStubs-PySide2

PyPI(PySide6): https://pypi.org/project/IceSpringPySideStubs-PySide6

PyPI(PyQt5): https://pypi.org/project/IceSpringPySideStubs-PyQt5

Generated by BaiJiFeiLong@gmail.com

Licence: GPLv3
"""
"""
This file contains the exact signatures for all functions in module
PySide6.QtWidgets, except for defaults which are replaced by "...".
"""
from typing import Optional
import PySide6.QtCore
import PySide6.QtGui
import PySide6.QtWidgets

bytes = str


class QFocusFrame(PySide6.QtWidgets.QWidget):
    """
    https://doc.qt.io/qt-6/qfocusframe.html

    **Detailed Description**

    Normally an application will not need to create its own QFocusFrame as
    **QStyle**  will handle this detail for you. A style writer can optionally
    use a QFocusFrame to have a focus area outside of the widget's paintable
    geometry. In this way space need not be reserved for the widget to have
    focus but only set on a **QWidget**  with **QFocusFrame::setWidget** . It
    is, however, legal to create your own QFocusFrame on a custom widget and set
    its geometry manually via **QWidget::setGeometry**  however you will not get
    auto-placement when the focused widget changes size or placement.
    """

    def __init__(self, parent: Optional[PySide6.QtWidgets.QWidget] = ...) -> None:
        """
        https://doc.qt.io/qt-6/qfocusframe.html#QFocusFrame

        **QFocusFrame::QFocusFrame(QWidget * parent = nullptr)**

        Constructs a QFocusFrame.

        The focus frame will not monitor **parent** for updates but rather can
        be placed manually or by using **QFocusFrame::setWidget** . A
        QFocusFrame sets **Qt::WA_NoChildEventsForParent**  attribute; as a
        result the parent will not receive a **QEvent::ChildAdded**  event, this
        will make it possible to manually set the geometry of the QFocusFrame
        inside of a **QSplitter**  or other child event monitoring widget.

        **See also** **QFocusFrame::setWidget** ().
        """
        ...

    def event(self, e: PySide6.QtCore.QEvent) -> bool:
        """
        https://doc.qt.io/qt-6/qfocusframe.html#event

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

        Reimplements: **QWidget::event** (QEvent *event).
        """
        ...

    def eventFilter(
        self, arg__1: PySide6.QtCore.QObject, arg__2: PySide6.QtCore.QEvent
    ) -> bool:
        """
        https://doc.qt.io/qt-6/qfocusframe.html#eventFilter

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

        Reimplements: **QObject::eventFilter** (QObject *watched, QEvent
        *event).
        """
        ...

    def initStyleOption(self, option: PySide6.QtWidgets.QStyleOption) -> None:
        """
        https://doc.qt.io/qt-6/qfocusframe.html#initStyleOption

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

        Initialize **option** with the values from this **QFocusFrame** . This
        method is useful for subclasses when they need a **QStyleOption** , but
        don't want to fill in all the information themselves.

        **See also** **QStyleOption::initFrom** ().
        """
        ...

    def paintEvent(self, arg__1: PySide6.QtGui.QPaintEvent) -> None:
        """
        https://doc.qt.io/qt-6/qfocusframe.html#paintEvent

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

        Reimplements: **QWidget::paintEvent** (QPaintEvent *event).
        """
        ...

    def setWidget(self, widget: PySide6.QtWidgets.QWidget) -> None:
        """
        https://doc.qt.io/qt-6/qfocusframe.html#setWidget

        **void QFocusFrame::setWidget(QWidget * widget )**

        **QFocusFrame**  will track changes to **widget** and resize itself
        automatically. If the monitored widget's parent changes, **QFocusFrame**
        will follow the widget and place itself around the widget automatically.
        If the monitored widget is deleted, **QFocusFrame**  will set it to
        zero.

        **See also** **QFocusFrame::widget** ().
        """
        ...

    def widget(self) -> PySide6.QtWidgets.QWidget:
        """
        https://doc.qt.io/qt-6/qfocusframe.html#widget

        **QWidget *QFocusFrame::widget() const**

        Returns the currently monitored widget for automatically resize and
        update.

        **See also** **QFocusFrame::setWidget** ().
        """
        ...
