"""
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

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

Generated by BaiJiFeiLong@gmail.com

License: MIT
"""
import enum
import typing
from PyQt6 import QtGui
from PyQt6 import QtCore
from PyQt6.QtWidgets import *
import enum


class QStyleOptionTab(QStyleOption):
    """
    https://doc.qt.io/qt-6/qstyleoptiontab.html

    **Detailed Description**

    The QStyleOptionTab class is used for drawing several built-in Qt widgets
    including **QTabBar**  and the panel for **QTabWidget** .

    An instance of the QStyleOptionTab class has **type**  **SO_Tab**  and
    **version**  3\\. The type is used internally by **QStyleOption** , its
    subclasses, and **qstyleoption_cast** () to determine the type of style
    option. In general you do not need to worry about this unless you want to
    create your own **QStyleOption**  subclass and your own styles. The version
    is used by **QStyleOption**  subclasses to implement extensions without
    breaking compatibility. If you use **qstyleoption_cast** (), you normally do
    not need to check it.

    For performance reasons, there are few member functions and the access to
    the member variables is direct (i.e., using the `.` or `->` operator). This
    makes the structures straightforward to use and emphasizes that these are
    simply parameters used by the style functions.

    For an example demonstrating how style options can be used, see the
    **Styles**  example.

    **See also** **QStyleOption** .
    """

    class TabFeature(enum.Flag):
        None_: QStyleOptionTab = ...
        HasFrame: QStyleOptionTab = ...

    class CornerWidget(enum.Flag):
        NoCornerWidgets: QStyleOptionTab = ...
        LeftCornerWidget: QStyleOptionTab = ...
        RightCornerWidget: QStyleOptionTab = ...

    class SelectedPosition(enum.Enum):
        NotAdjacent: QStyleOptionTab = ...
        NextIsSelected: QStyleOptionTab = ...
        PreviousIsSelected: QStyleOptionTab = ...

    class TabPosition(enum.Enum):
        Beginning: QStyleOptionTab = ...
        Middle: QStyleOptionTab = ...
        End: QStyleOptionTab = ...
        OnlyOneTab: QStyleOptionTab = ...

    class StyleOptionVersion(enum.Enum):
        Version: QStyleOptionTab = ...

    class StyleOptionType(enum.Enum):
        Type: QStyleOptionTab = ...

    cornerWidgets = ...
    documentMode: bool = ...
    features = ...
    icon: QtGui = ...
    iconSize: QtCore = ...
    leftButtonSize: QtCore = ...
    position = ...
    rightButtonSize: QtCore = ...
    row: int = ...
    selectedPosition = ...
    shape = ...
    tabIndex: int = ...
    text: str = ...

    @typing.overload
    def __init__(self) -> None:
        """
        https://doc.qt.io/qt-6/qstyleoptiontab.html#QStyleOptionTab

        **QStyleOptionTab::QStyleOptionTab()**

        Constructs a QStyleOptionTab object, initializing the members variables
        to their default values.
        """
        ...

    @typing.overload
    def __init__(self, other: "QStyleOptionTab") -> None:
        """
        https://doc.qt.io/qt-6/qstyleoptiontab.html#QStyleOptionTab-1

        **QStyleOptionTab::QStyleOptionTab(const QStyleOptionTab & other )**

        Constructs a copy of the **other** style option.
        """
        ...
