"""
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 PyQt5 import QtCore
from PyQt5.QtLocation import *
from PyQt5 import sip


class QPlaceIcon(sip.simplewrapper):
    """
    https://doc.qt.io/qt-5/qplaceicon.html

    **Detailed Description**

    The typical usage of an icon is to use the **url** () function to specify a
    preferred icon size.

    **QUrl**  iconSourceUrl = place.icon().url(**QSize** (32,32));

        //A
    default icon may also be requested like so
        iconSourceUrl =
    place.icon().url();

    The icons are typically backend dependent, if a manager backend does not
    support a given size, the URL of the icon that most closely matches those
    parameters is returned.

    The icon class also has a key-value set of parameters. The precise key one
    needs to use depends on the **plugin**  being used. These parameters
    influence which icon URL is returned by the manager and may also be used to
    specify icon URL locations when saving icons.

    If there is only ever one image for an icon, then **QPlaceIcon::SingleUrl**
    can be used as a parameter key with a **QUrl**  as the associated value. If
    this key is set, then the **url** () function will always return the
    specified URL and not defer to any manager.
    """

    SingleUrl: str = ...

    @typing.overload
    def __init__(self) -> None:
        """
        https://doc.qt.io/qt-5/qplaceicon.html#QPlaceIcon

        **QPlaceIcon::QPlaceIcon()**

        Constructs an icon.
        """
        ...

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

        **QPlaceIcon::QPlaceIcon(const QPlaceIcon & other )**

        Constructs a copy of **other**.
        """
        ...

    def isEmpty(self) -> bool:
        """
        https://doc.qt.io/qt-5/qplaceicon.html#isEmpty

        **bool QPlaceIcon::isEmpty() const**

        Returns a boolean indicating whether the all the fields of the icon are
        empty or not.
        """
        ...

    def setParameters(self, parameters: typing.Dict[str, typing.Any]) -> None:
        """
        https://doc.qt.io/qt-5/qplaceicon.html#setParameters

        **void QPlaceIcon::setParameters(const QVariantMap & parameters )**

        Sets the parameters of the icon to **parameters**.

        **See also** **parameters** ().
        """
        ...

    def parameters(self) -> typing.Dict[str, typing.Any]:
        """
        https://doc.qt.io/qt-5/qplaceicon.html#parameters

        **QVariantMap QPlaceIcon::parameters() const**

        Returns a set of parameters for the icon that are manager/plugin
        specific. These parameters are used by the manager to return the
        appropriate URL when **url** () is called and to specify locations to
        save to when saving icons.

        Consult the **plugin documentation**  for what parameters are supported
        and how they should be used.

        **See also** **setParameters** ().
        """
        ...

    def setManager(self, manager: "QPlaceManager") -> None:
        """
        https://doc.qt.io/qt-5/qplaceicon.html#setManager

        **void QPlaceIcon::setManager(QPlaceManager * manager )**

        Sets the **manager** that this icon is associated with. The icon does
        not take ownership of the pointer.

        **See also** **manager** ().
        """
        ...

    def manager(self) -> "QPlaceManager":
        """
        https://doc.qt.io/qt-5/qplaceicon.html#manager

        **QPlaceManager *QPlaceIcon::manager() const**

        Returns the manager that this icon is associated with.

        **See also** **setManager** ().
        """
        ...

    def url(self, size: QtCore.QSize = ...) -> QtCore.QUrl:
        """
        https://doc.qt.io/qt-5/qplaceicon.html#url

        **QUrl QPlaceIcon::url(const QSize & size = QSize()) const**

        Returns an icon URL according to the given **size**.

        If no manager has been assigned to the icon, and the parameters do not
        contain the **QPlaceIcon::SingleUrl**  key, a default constructed
        **QUrl**  is returned.
        """
        ...
