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

Generated by BaiJiFeiLong@gmail.com

Licence: GPLv3
"""
from enum import Enum
from typing import Optional, Sequence, Union, overload
import PySide6.QtCore
import PySide6.QtGui
import PySide6.QtWidgets
import PySide6.QtCharts

bytes = str


class QBoxSet(PySide6.QtCore.QObject):
    """
    https://doc.qt.io/qt-6/qboxset.html

    **Detailed Description**

    A box-and-whiskers item is a graphical representation of a range and three
    median values that is constructed from five different values. There are two
    ways to specify the values. The first one is by using a constructor or
    stream operator (<<). The values have to be specified in the following
    order: lower extreme, lower quartile, median, upper quartile, and upper
    extreme.

    The second way is to create an empty QBoxSet instance and specify the values
    using the **setValue** () method.

    See the **box-and-whiskers chart example**  to learn how to create a box-
    and-whiskers chart.

    **See also** **QBoxPlotSeries** .
    """

    LowerExtreme: QBoxSet.ValuePositions = ...
    LowerQuartile: QBoxSet.ValuePositions = ...
    Median: QBoxSet.ValuePositions = ...
    UpperQuartile: QBoxSet.ValuePositions = ...
    UpperExtreme: QBoxSet.ValuePositions = ...

    class ValuePositions(Enum):
        LowerExtreme: QBoxSet.ValuePositions = ...
        LowerQuartile: QBoxSet.ValuePositions = ...
        Median: QBoxSet.ValuePositions = ...
        UpperQuartile: QBoxSet.ValuePositions = ...
        UpperExtreme: QBoxSet.ValuePositions = ...

    @overload
    def __init__(
        self, label: str = ..., parent: Optional[PySide6.QtCore.QObject] = ...
    ) -> None:
        """
        https://doc.qt.io/qt-6/qboxset.html#QBoxSet

        **QBoxSet::QBoxSet(const QString label = QString(), QObject * parent =
        nullptr)**

        Constructs a box-and-whiskers item with the optional label **label** and
        parent **parent**.
        """
        ...

    @overload
    def __init__(
        self,
        le: float,
        lq: float,
        m: float,
        uq: float,
        ue: float,
        label: str = ...,
        parent: Optional[PySide6.QtCore.QObject] = ...,
    ) -> None:
        """
        https://doc.qt.io/qt-6/qboxset.html#QBoxSet-1

        **QBoxSet::QBoxSet(const qreal le , const qreal lq , const qreal m ,
        const qreal uq , const qreal ue , const QString label = QString(),
        QObject * parent = nullptr)**

        Constructs a box-and-whiskers item with the following ordered values:
        **le** specifies the lower extreme, **lq** the lower quartile, **m** the
        median, **uq** the upper quartile, and **ue** the upper quartile.
        Optionally, the **label** and **parent** can be specified.
        """
        ...

    def __lshift__(self, value: float) -> PySide6.QtCharts.QBoxSet:
        ...

    @overload
    def append(self, value: float) -> None:
        """
        https://doc.qt.io/qt-6/qboxset.html#append

        **void QBoxSet::append(const qreal value )**

        Appends the new value specified by **value** to the end of the box-and-
        whiskers item.
        """
        ...

    @overload
    def append(self, values: Sequence[float]) -> None:
        """
        https://doc.qt.io/qt-6/qboxset.html#append-1

        **void QBoxSet::append(const QList<qreal> & values )**

        Appends a list of real values specified by **values** to the end of the
        box-and-whiskers item.

        **See also** **append** ().
        """
        ...

    def at(self, index: int) -> float:
        """
        https://doc.qt.io/qt-6/qboxset.html#at

        **qreal QBoxSet::at(const int index ) const**

        Returns the value of the box-and-whiskers item specified by **index**.
        The index can be specified by using **ValuePositions**  enumeration
        values. If the index is out of bounds, 0.0 is returned.
        """
        ...

    def brush(self) -> PySide6.QtGui.QBrush:
        """
        https://doc.qt.io/qt-6/qboxset.html#brush

        **QBrush QBoxSet::brush() const**

        Returns the brush used to fill the box-and-whiskers item.

        **Note:** Getter function for property brush.

        **See also** **setBrush** ().
        """
        ...

    def clear(self) -> None:
        """
        https://doc.qt.io/qt-6/qboxset.html#clear

        **void QBoxSet::clear()**

        Sets all the values of the box-and-whiskers item to 0.
        """
        ...

    def count(self) -> int:
        """
        https://doc.qt.io/qt-6/qboxset.html#count

        **int QBoxSet::count() const**

        Returns the number of values appended to the box-and-whiskers item.
        """
        ...

    def label(self) -> str:
        """
        https://doc.qt.io/qt-6/qboxset.html#label

        **QString QBoxSet::label() const**

        Returns the label of the category of the box-and-whiskers item.

        **See also** **setLabel** ().
        """
        ...

    def pen(self) -> PySide6.QtGui.QPen:
        """
        https://doc.qt.io/qt-6/qboxset.html#pen

        **QPen QBoxSet::pen() const**

        Returns the pen used to draw the box-and-whiskers item.

        **Note:** Getter function for property pen.

        **See also** **setPen** ().
        """
        ...

    def setBrush(
        self,
        brush: Union[
            (
                PySide6.QtGui.QBrush,
                PySide6.QtCore.Qt.BrushStyle,
                PySide6.QtCore.Qt.GlobalColor,
                PySide6.QtGui.QColor,
                PySide6.QtGui.QGradient,
                PySide6.QtGui.QImage,
                PySide6.QtGui.QPixmap,
            )
        ],
    ) -> None:
        """
        https://doc.qt.io/qt-6/qboxset.html#setBrush

        **void QBoxSet::setBrush(const QBrush & brush )**

        Sets the brush used to fill the box-and-whiskers item to **brush**.

        **Note:** Setter function for property **brush** .

        **See also** **brush** ().
        """
        ...

    def setLabel(self, label: str) -> None:
        """
        https://doc.qt.io/qt-6/qboxset.html#setLabel

        **void QBoxSet::setLabel(const QString label )**

        Sets the label specified by **label** for the category of the box-and-
        whiskers item.

        **See also** **label** ().
        """
        ...

    def setPen(
        self,
        pen: Union[
            (PySide6.QtGui.QPen, PySide6.QtCore.Qt.PenStyle, PySide6.QtGui.QColor)
        ],
    ) -> None:
        """
        https://doc.qt.io/qt-6/qboxset.html#setPen

        **void QBoxSet::setPen(const QPen & pen )**

        Sets the pen used to draw the box-and-whiskers item to **pen**.

        **Note:** Setter function for property **pen** .

        **See also** **pen** ().
        """
        ...

    def setValue(self, index: int, value: float) -> None:
        """
        https://doc.qt.io/qt-6/qboxset.html#setValue

        **void QBoxSet::setValue(const int index , const qreal value )**

        Sets the value specified by **value** in the position specified by
        **index**. The index can be specified by using the **ValuePositions**
        enumeration values.
        """
        ...

    @property
    def brushChanged(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qboxset.html#brushChanged

        **[signal] void QBoxSet::brushChanged()**

        This signal is emitted when the brush of the box-and-whiskers item
        changes.

        **Note:** Notifier signal for property **brush** .

        **See also** **brush** .
        """
        ...

    @property
    def cleared(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qboxset.html#cleared

        **[signal] void QBoxSet::cleared()**

        This signal is emitted when all the values of the box-and-whiskers item
        are set to 0.
        """
        ...

    @property
    def clicked(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qboxset.html#clicked

        **[signal] void QBoxSet::clicked()**

        This signal is emitted when the user clicks a box-and-whiskers item in
        the chart.
        """
        ...

    @property
    def doubleClicked(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qboxset.html#doubleClicked

        **[signal] void QBoxSet::doubleClicked()**

        This signal is emitted when the user double-clicks a box-and-whiskers
        item.
        """
        ...

    @property
    def hovered(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qboxset.html#hovered

        **[signal] void QBoxSet::hovered(bool status )**

        This signal is emitted when a mouse is hovered over a box-and-whiskers
        item in a chart. When the mouse moves over the item, **status** turns
        `true`, and when the mouse moves away again, it turns `false`.
        """
        ...

    @property
    def penChanged(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qboxset.html#penChanged

        **[signal] void QBoxSet::penChanged()**

        This signal is emitted when the pen of the box-and-whiskers item
        changes.

        **Note:** Notifier signal for property **pen** .

        **See also** **pen** .
        """
        ...

    @property
    def pressed(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qboxset.html#pressed

        **[signal] void QBoxSet::pressed()**

        This signal is emitted when the user clicks a box-and-whiskers item in
        the chart and holds down the mouse button.
        """
        ...

    @property
    def released(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qboxset.html#released

        **[signal] void QBoxSet::released()**

        This signal is emitted when the user releases the mouse press on a box-
        and-whiskers item.
        """
        ...

    @property
    def valueChanged(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qboxset.html#valueChanged

        **[signal] void QBoxSet::valueChanged(int index )**

        This signal is emitted when the value of the box-and-whiskers item
        specified by **index** is modified.

        **See also** **at** ().
        """
        ...

    @property
    def valuesChanged(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qboxset.html#valuesChanged

        **[signal] void QBoxSet::valuesChanged()**

        This signal is emitted when multiple values of the box-and-whiskers item
        change.

        **See also** **append** ().
        """
        ...
