"""
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 enum import Enum
from typing import Union, overload
import PySide6.QtCore
import PySide6.QtGui
import PySide6.QtWidgets

bytes = str


class QTreeWidgetItemIterator(object):
    """
    https://doc.qt.io/qt-6/qtreewidgetitemiterator.html

    **Detailed Description**

    The iterator will walk the items in a pre-order traversal order, thus
    visiting the parent node **before** it continues to the child nodes.

    For example, the following code examples each item in a tree, checking the
    text in the first column against a user-specified search string:

    **QTreeWidgetItemIterator**  it(treeWidget);
            while (*it) {
    if ((*it)->text(0) == itemText)
                    (*it)->setSelected(true);
    ++it;
            }

    It is also possible to filter out certain types of node by passing certain
    **flags**  to the constructor of QTreeWidgetItemIterator.

    **See also** **QTreeWidget** , **Model/View Programming** , and
    **QTreeWidgetItem** .
    """

    All: QTreeWidgetItemIterator.IteratorFlag = ...
    Hidden: QTreeWidgetItemIterator.IteratorFlag = ...
    NotHidden: QTreeWidgetItemIterator.IteratorFlag = ...
    Selected: QTreeWidgetItemIterator.IteratorFlag = ...
    Unselected: QTreeWidgetItemIterator.IteratorFlag = ...
    Selectable: QTreeWidgetItemIterator.IteratorFlag = ...
    NotSelectable: QTreeWidgetItemIterator.IteratorFlag = ...
    DragEnabled: QTreeWidgetItemIterator.IteratorFlag = ...
    DragDisabled: QTreeWidgetItemIterator.IteratorFlag = ...
    DropEnabled: QTreeWidgetItemIterator.IteratorFlag = ...
    DropDisabled: QTreeWidgetItemIterator.IteratorFlag = ...
    HasChildren: QTreeWidgetItemIterator.IteratorFlag = ...
    NoChildren: QTreeWidgetItemIterator.IteratorFlag = ...
    Checked: QTreeWidgetItemIterator.IteratorFlag = ...
    NotChecked: QTreeWidgetItemIterator.IteratorFlag = ...
    Enabled: QTreeWidgetItemIterator.IteratorFlag = ...
    Disabled: QTreeWidgetItemIterator.IteratorFlag = ...
    Editable: QTreeWidgetItemIterator.IteratorFlag = ...
    NotEditable: QTreeWidgetItemIterator.IteratorFlag = ...
    UserFlag: QTreeWidgetItemIterator.IteratorFlag = ...

    class IteratorFlag(Enum):
        All: QTreeWidgetItemIterator.IteratorFlag = ...
        Hidden: QTreeWidgetItemIterator.IteratorFlag = ...
        NotHidden: QTreeWidgetItemIterator.IteratorFlag = ...
        Selected: QTreeWidgetItemIterator.IteratorFlag = ...
        Unselected: QTreeWidgetItemIterator.IteratorFlag = ...
        Selectable: QTreeWidgetItemIterator.IteratorFlag = ...
        NotSelectable: QTreeWidgetItemIterator.IteratorFlag = ...
        DragEnabled: QTreeWidgetItemIterator.IteratorFlag = ...
        DragDisabled: QTreeWidgetItemIterator.IteratorFlag = ...
        DropEnabled: QTreeWidgetItemIterator.IteratorFlag = ...
        DropDisabled: QTreeWidgetItemIterator.IteratorFlag = ...
        HasChildren: QTreeWidgetItemIterator.IteratorFlag = ...
        NoChildren: QTreeWidgetItemIterator.IteratorFlag = ...
        Checked: QTreeWidgetItemIterator.IteratorFlag = ...
        NotChecked: QTreeWidgetItemIterator.IteratorFlag = ...
        Enabled: QTreeWidgetItemIterator.IteratorFlag = ...
        Disabled: QTreeWidgetItemIterator.IteratorFlag = ...
        Editable: QTreeWidgetItemIterator.IteratorFlag = ...
        NotEditable: QTreeWidgetItemIterator.IteratorFlag = ...
        UserFlag: QTreeWidgetItemIterator.IteratorFlag = ...

    class IteratorFlags(object):
        ...

    @overload
    def __init__(
        self,
        it: Union[
            PySide6.QtWidgets.QTreeWidgetItemIterator,
            PySide6.QtWidgets.QTreeWidget,
            PySide6.QtWidgets.QTreeWidgetItem,
        ],
    ) -> None:
        """
        https://doc.qt.io/qt-6/qtreewidgetitemiterator.html#QTreeWidgetItemItera
        tor

        **QTreeWidgetItemIterator::QTreeWidgetItemIterator(const
        QTreeWidgetItemIterator & it )**

        Constructs an iterator for the same **QTreeWidget**  as **it**. The
        current iterator item is set to point on the current item of **it**.
        """
        ...

    @overload
    def __init__(
        self,
        item: PySide6.QtWidgets.QTreeWidgetItem,
        flags: PySide6.QtWidgets.QTreeWidgetItemIterator.IteratorFlags = ...,
    ) -> None:
        """
        https://doc.qt.io/qt-6/qtreewidgetitemiterator.html#QTreeWidgetItemItera
        tor-1

        **QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidget * widget
        , QTreeWidgetItemIterator::IteratorFlags flags = All)**

        Constructs an iterator for the given **widget** that uses the specified
        **flags** to determine which items are found during iteration. The
        iterator is set to point to the first top-level item contained in the
        widget, or the next matching item if the top-level item doesn't match
        the flags.

        **See also** **QTreeWidgetItemIterator::IteratorFlag** .
        """
        ...

    @overload
    def __init__(
        self,
        widget: PySide6.QtWidgets.QTreeWidget,
        flags: PySide6.QtWidgets.QTreeWidgetItemIterator.IteratorFlags = ...,
    ) -> None:
        """
        https://doc.qt.io/qt-6/qtreewidgetitemiterator.html#QTreeWidgetItemItera
        tor-2

        **QTreeWidgetItemIterator::QTreeWidgetItemIterator(QTreeWidgetItem *
        item , QTreeWidgetItemIterator::IteratorFlags flags = All)**

        Constructs an iterator for the given **item** that uses the specified
        **flags** to determine which items are found during iteration. The
        iterator is set to point to **item** , or the next matching item if
        **item** doesn't match the flags.

        **See also** **QTreeWidgetItemIterator::IteratorFlag** .
        """
        ...

    @staticmethod
    def __copy__() -> None:
        ...

    def __iadd__(self, n: int) -> PySide6.QtWidgets.QTreeWidgetItemIterator:
        ...

    def __isub__(self, n: int) -> PySide6.QtWidgets.QTreeWidgetItemIterator:
        ...

    def __iter__(self) -> object:
        ...

    def __next__(self) -> object:
        ...

    def value(self) -> PySide6.QtWidgets.QTreeWidgetItem:
        ...
