"""
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.QtPrintSupport, except for defaults which are replaced by "...".
"""
from typing import Optional, overload
import PySide6.QtCore
import PySide6.QtGui
import PySide6.QtWidgets
import PySide6.QtPrintSupport

bytes = str


class QPrintPreviewDialog(PySide6.QtWidgets.QDialog):
    """
    https://doc.qt.io/qt-6/qprintpreviewdialog.html

    **Detailed Description**

    Using QPrintPreviewDialog in your existing application is straightforward:

    1. Create the QPrintPreviewDialog.

    You can construct a QPrintPreviewDialog
    with an existing **QPrinter**  object, or you can have QPrintPreviewDialog
    create one for you, which will be the system default printer.

      2. Connect
    the **paintRequested** () signal to a slot.

    When the dialog needs to
    generate a set of preview pages, the **paintRequested** () signal will be
    emitted. You can use the exact same code for the actual printing as for
    having the preview generated, including calling **QPrinter::newPage** () to
    start a new page in the preview. Connect a slot to the **paintRequested** ()
    signal, where you draw onto the **QPrinter**  object that is passed into the
    slot.

      3. Call **exec** ().

    Call **QPrintPreviewDialog::exec** () to show
    the preview dialog.

    **See also** **QPrinter** , **QPrintDialog** , **QPageSetupDialog** , and
    **QPrintPreviewWidget** .
    """

    @overload
    def __init__(
        self,
        parent: Optional[PySide6.QtWidgets.QWidget] = ...,
        flags: PySide6.QtCore.Qt.WindowFlags = ...,
    ) -> None:
        """
        https://doc.qt.io/qt-6/qprintpreviewdialog.html#QPrintPreviewDialog

        **QPrintPreviewDialog::QPrintPreviewDialog(QPrinter * printer , QWidget
        * parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())**

        Constructs a QPrintPreviewDialog based on **printer** and with
        **parent** as the parent widget. The widget flags **flags** are passed
        on to the **QWidget**  constructor.

        **See also** **QWidget::setWindowFlags** ().
        """
        ...

    @overload
    def __init__(
        self,
        printer: PySide6.QtPrintSupport.QPrinter,
        parent: Optional[PySide6.QtWidgets.QWidget] = ...,
        flags: PySide6.QtCore.Qt.WindowFlags = ...,
    ) -> None:
        """
        https://doc.qt.io/qt-6/qprintpreviewdialog.html#QPrintPreviewDialog-1

        **QPrintPreviewDialog::QPrintPreviewDialog(QWidget * parent = nullptr,
        Qt::WindowFlags flags = Qt::WindowFlags())**

        This is an overloaded function.

        This will create an internal **QPrinter**  object, which will use the
        system default printer.
        """
        ...

    def done(self, result: int) -> None:
        """
        https://doc.qt.io/qt-6/qprintpreviewdialog.html#done

        **[override virtual] void QPrintPreviewDialog::done(int result )**

        Reimplements: **QDialog::done** (int r).
        """
        ...

    @overload
    def open(self) -> None:
        """
        https://doc.qt.io/qt-6/qprintpreviewdialog.html#open

        **void QPrintPreviewDialog::open(QObject * receiver , const char *
        member )**

        This is an overloaded function.

        Opens the dialog and connects its finished(int) signal to the slot
        specified by **receiver** and **member**.

        The signal will be disconnected from the slot when the dialog is closed.
        """
        ...

    @overload
    def open(self, receiver: PySide6.QtCore.QObject, member: bytes) -> None:
        """
        https://doc.qt.io/qt-6/qprintpreviewdialog.html#open

        **void QPrintPreviewDialog::open(QObject * receiver , const char *
        member )**

        This is an overloaded function.

        Opens the dialog and connects its finished(int) signal to the slot
        specified by **receiver** and **member**.

        The signal will be disconnected from the slot when the dialog is closed.
        """
        ...

    def printer(self) -> PySide6.QtPrintSupport.QPrinter:
        """
        https://doc.qt.io/qt-6/qprintpreviewdialog.html#printer

        **QPrinter *QPrintPreviewDialog::printer()**

        Returns a pointer to the **QPrinter**  object this dialog is currently
        operating on.
        """
        ...

    def setVisible(self, visible: bool) -> None:
        """
        https://doc.qt.io/qt-6/qprintpreviewdialog.html#setVisible

        **[override virtual] void QPrintPreviewDialog::setVisible(bool visible
        )**

        Reimplements: **QDialog::setVisible** (bool visible).
        """
        ...

    @property
    def paintRequested(self) -> PySide6.QtCore.SignalInstance:
        """
        https://doc.qt.io/qt-6/qprintpreviewdialog.html#paintRequested

        **[signal] void QPrintPreviewDialog::paintRequested(QPrinter * printer
        )**

        This signal is emitted when the **QPrintPreviewDialog**  needs to
        generate a set of preview pages.

        The **printer** instance supplied is the paint device onto which you
        should paint the contents of each page, using the **QPrinter**  instance
        in the same way as you would when printing directly.
        """
        ...
