"""
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, Union
import PySide6.QtCore
import PySide6.QtGui
import PySide6.QtWidgets

bytes = str


class QAbstractGraphicsShapeItem(PySide6.QtWidgets.QGraphicsItem):
    """
    https://doc.qt.io/qt-6/qabstractgraphicsshapeitem.html

    **Detailed Description**

    This class does not fully implement an item by itself; in particular, it
    does not implement **boundingRect** () and **paint** (), which are inherited
    by **QGraphicsItem** .

    You can subclass this item to provide a simple base implementation of
    accessors for the item's pen and brush.

    **See also** **QGraphicsRectItem** , **QGraphicsEllipseItem** ,
    **QGraphicsPathItem** , **QGraphicsPolygonItem** , **QGraphicsTextItem** ,
    **QGraphicsLineItem** , **QGraphicsPixmapItem** , and **Graphics View
    Framework** .
    """

    def __init__(self, parent: Optional[PySide6.QtWidgets.QGraphicsItem] = ...) -> None:
        """
        https://doc.qt.io/qt-6/qabstractgraphicsshapeitem.html#QAbstractGraphics
        ShapeItem

        **QAbstractGraphicsShapeItem::QAbstractGraphicsShapeItem(QGraphicsItem *
        parent = nullptr)**

        Constructs a QAbstractGraphicsShapeItem. **parent** is passed to
        **QGraphicsItem** 's constructor.
        """
        ...

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

        **QBrush QAbstractGraphicsShapeItem::brush() const**

        Returns the item's brush, or an empty brush if no brush has been set.

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

    def isObscuredBy(self, item: PySide6.QtWidgets.QGraphicsItem) -> bool:
        """
        https://doc.qt.io/qt-6/qabstractgraphicsshapeitem.html#isObscuredBy

        **[override virtual] bool QAbstractGraphicsShapeItem::isObscuredBy(const
        QGraphicsItem * item ) const**

        Reimplements: **QGraphicsItem::isObscuredBy(const QGraphicsItem *item)
        const** .
        """
        ...

    def opaqueArea(self) -> PySide6.QtGui.QPainterPath:
        """
        https://doc.qt.io/qt-6/qabstractgraphicsshapeitem.html#opaqueArea

        **[override virtual] QPainterPath
        QAbstractGraphicsShapeItem::opaqueArea() const**

        Reimplements: **QGraphicsItem::opaqueArea() const** .
        """
        ...

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

        **QPen QAbstractGraphicsShapeItem::pen() const**

        Returns the item's pen. If no pen has been set, this function returns
        QPen(), a default black solid line pen with 1 width.

        **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/qabstractgraphicsshapeitem.html#setBrush

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

        Sets the item's brush to **brush**.

        The item's brush is used to fill the item.

        If you use a brush with a **QGradient** , the gradient is relative to
        the item's coordinate system.

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

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

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

        Sets the pen for this item to **pen**.

        The pen is used to draw the item's outline.

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