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


class QGraphicsSceneDragDropEvent(QGraphicsSceneEvent):
    """
    https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html

    **Detailed Description**

    **QGraphicsView**  inherits the drag and drop functionality provided by
    **QWidget** . When it receives a drag and drop event, it translates it to a
    QGraphicsSceneDragDropEvent.

    QGraphicsSceneDragDropEvent stores events of type GraphicsSceneDragEnter,
    GraphicsSceneDragLeave, GraphicsSceneDragMove, or GraphicsSceneDrop.

    QGraphicsSceneDragDropEvent contains the position of the mouse cursor in
    both item, scene, and screen coordinates; this can be retrieved with **pos**
    (), **scenePos** (), and **screenPos** ().

    The scene sends the event to the first **QGraphicsItem**  under the mouse
    cursor that accepts drops; a graphics item is set to accept drops with
    **setAcceptDrops** ().
    """

    def mimeData(self) -> QtCore.QMimeData:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#mimeData

        **const QMimeData *QGraphicsSceneDragDropEvent::mimeData() const**

        This function returns the MIME data of the event.
        """
        ...

    def source(self) -> QWidget:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#source

        **QWidget *QGraphicsSceneDragDropEvent::source() const**

        This function returns the **QGraphicsView**  that created the
        **QGraphicsSceneDragDropEvent** .
        """
        ...

    def setDropAction(self, action: QtCore.Qt.DropAction) -> None:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#setDropAction

        **void QGraphicsSceneDragDropEvent::setDropAction(Qt::DropAction action
        )**

        This function lets the receiver of the drop set the drop action that was
        performed to **action** , which should be one of the **possible
        actions** . Call `accept()` in stead of `acceptProposedAction()` if you
        use this function.

        **See also** **dropAction** (), **accept** (), and **possibleActions**
        ().
        """
        ...

    def dropAction(self) -> QtCore.Qt.DropAction:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#dropAction

        **Qt::DropAction QGraphicsSceneDragDropEvent::dropAction() const**

        Returns the action that was performed in this drag and drop. This should
        be set by the receiver of the drop and is returned by **QDrag::exec**
        ().

        **See also** **setDropAction** () and **acceptProposedAction** ().
        """
        ...

    def acceptProposedAction(self) -> None:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#acceptProposedAc
        tion

        **void QGraphicsSceneDragDropEvent::acceptProposedAction()**

        Sets the proposed action as accepted, i.e, the drop action is set to the
        proposed action. This is equal to:

        setDropAction(proposedAction());

        When using this function, one should not call `accept()`.

        **See also** **dropAction** (), **setDropAction** (), and
        **proposedAction** ().
        """
        ...

    def proposedAction(self) -> QtCore.Qt.DropAction:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#proposedAction

        **Qt::DropAction QGraphicsSceneDragDropEvent::proposedAction() const**

        Returns the drop action that is proposed, i.e., preferred. The action
        must be one of the possible actions as defined by `possibleActions()`.

        **See also** **Qt::DropAction**  and **possibleActions** ().
        """
        ...

    def possibleActions(self) -> QtCore.Qt.DropAction:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#possibleActions

        **Qt::DropActions QGraphicsSceneDragDropEvent::possibleActions() const**

        Returns the possible drop actions that the drag and drop can result in.

        **See also** **Qt::DropActions** .
        """
        ...

    def modifiers(self) -> QtCore.Qt.KeyboardModifier:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#modifiers

        **Qt::KeyboardModifiers QGraphicsSceneDragDropEvent::modifiers() const**

        Returns the keyboard modifiers that were pressed when the drag and drop
        event was created.

        **See also** **Qt::KeyboardModifiers** .
        """
        ...

    def buttons(self) -> QtCore.Qt.MouseButton:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#buttons

        **Qt::MouseButtons QGraphicsSceneDragDropEvent::buttons() const**

        Returns a **Qt::MouseButtons**  value indicating which buttons were
        pressed on the mouse when this mouse event was generated.

        **See also** **Qt::MouseButtons** .
        """
        ...

    def screenPos(self) -> QtCore.QPoint:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#screenPos

        **QPoint QGraphicsSceneDragDropEvent::screenPos() const**

        Returns the position of the mouse relative to the screen.

        **See also** **pos** () and **scenePos** ().
        """
        ...

    def scenePos(self) -> QtCore.QPointF:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#scenePos

        **QPointF QGraphicsSceneDragDropEvent::scenePos() const**

        Returns the position of the mouse in scene coordinates.

        **See also** **pos** () and **screenPos** ().
        """
        ...

    def pos(self) -> QtCore.QPointF:
        """
        https://doc.qt.io/qt-6/qgraphicsscenedragdropevent.html#pos

        **QPointF QGraphicsSceneDragDropEvent::pos() const**

        Returns the mouse position of the event relative to the view that sent
        the event.

        **See also** **QGraphicsView** , **screenPos** (), and **scenePos** ().
        """
        ...
