"""
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 typing
from PyQt6 import QtGui
from PyQt6 import QtCore
from PyQt6.QtWidgets import *


class QAbstractGraphicsShapeItem(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: typing.Optional[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 opaqueArea(self) -> QtGui.QPainterPath:
        """
        https://doc.qt.io/qt-6/qabstractgraphicsshapeitem.html#opaqueArea

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

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

    def isObscuredBy(self, item: 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 setBrush(
        self,
        brush: typing.Union[
            QtGui.QBrush, QtGui.QColor, QtCore.Qt.GlobalColor, int, QtGui.QGradient
        ],
    ) -> 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 brush(self) -> 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 setPen(
        self,
        pen: typing.Union[
            QtGui.QPen, QtGui.QColor, QtCore.Qt.GlobalColor, int, QtGui.QGradient
        ],
    ) -> 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** ().
        """
        ...

    def pen(self) -> 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** ().
        """
        ...
