En esta página

QPrintDialog Class

La clase QPrintDialog proporciona un diálogo para especificar la configuración de la impresora. Más...

Cabecera: #include <QPrintDialog>
CMake: find_package(Qt6 REQUIRED COMPONENTS PrintSupport)
target_link_libraries(mytarget PRIVATE Qt6::PrintSupport)
qmake: QT += printsupport
Hereda: QAbstractPrintDialog

Propiedades

Funciones públicas

QPrintDialog(QWidget *parent = nullptr)
QPrintDialog(QPrinter *printer, QWidget *parent = nullptr)
virtual ~QPrintDialog()
void open(QObject *receiver, const char *member)
QAbstractPrintDialog::PrintDialogOptions options() const
QPrinter *printer()
void setOption(QAbstractPrintDialog::PrintDialogOption option, bool on = true)
void setOptions(QAbstractPrintDialog::PrintDialogOptions options)
bool testOption(QAbstractPrintDialog::PrintDialogOption option) const

Funciones públicas reimplementadas

virtual void done(int result) override
virtual int exec() override
virtual void setVisible(bool visible) override

Señales

void accepted(QPrinter *printer)

Descripción detallada

El cuadro de diálogo permite a los usuarios cambiar los ajustes relacionados con el documento, como el tamaño y la orientación del papel, el tipo de impresión (color o escala de grises), el intervalo de páginas y el número de copias a imprimir.

También se proporcionan controles para permitir a los usuarios elegir entre las impresoras disponibles, incluyendo cualquier impresora de red configurada.

Normalmente, los objetos QPrintDialog se construyen con un objeto QPrinter, y se ejecutan utilizando la función exec().

QPrintDialog printDialog(printer, parent);
if (printDialog.exec() == QDialog::Accepted) {
    // print ...
}

Si el diálogo es aceptado por el usuario, el objeto QPrinter está correctamente configurado para imprimir.

Captura de pantalla del menú para imprimir un documentoCaptura de pantalla de la configuración en la que se imprimirá el documento

El diálogo de impresión (mostrado arriba en estilo Plastique) permite acceder a las propiedades de impresión comunes. En las plataformas X11 que utilizan el sistema de impresión CUPS, la configuración de cada impresora disponible puede modificarse a través del botón Properties del cuadro de diálogo.

En Windows y macOS, se utiliza el diálogo de impresión nativo, lo que significa que algunas propiedades de QWidget y QDialog establecidas en el diálogo no se respetarán. El diálogo de impresión nativo en macOS no soporta la configuración de opciones de impresora, es decir, setOptions() y setOption() no tienen efecto.

En Qt 4.4, era posible usar las funciones estáticas para mostrar una hoja en macOS. Esto ya no está soportado en Qt 4.5. Si desea esta funcionalidad, utilice QPrintDialog::open().

Véase también QPageSetupDialog y QPrinter.

Documentación de propiedades

options : PrintDialogOptions

Esta propiedad contiene las distintas opciones que afectan al aspecto del cuadro de diálogo

Por defecto, todas las opciones están desactivadas.

Las opciones deben establecerse antes de mostrar el diálogo. Establecerlas mientras el diálogo está visible no garantiza que tenga un efecto inmediato en el diálogo (dependiendo de la opción y de la plataforma).

Funciones de acceso:

QAbstractPrintDialog::PrintDialogOptions options() const
void setOptions(QAbstractPrintDialog::PrintDialogOptions options)

Véase también setOption() y testOption().

Documentación de las funciones miembro

[explicit] QPrintDialog::QPrintDialog(QWidget *parent = nullptr)

Construye un diálogo de impresión con la dirección parent.

[explicit] QPrintDialog::QPrintDialog(QPrinter *printer, QWidget *parent = nullptr)

Construye un nuevo diálogo modal de impresora para el printer dado con el parent dado.

[virtual noexcept] QPrintDialog::~QPrintDialog()

Destruye el diálogo de impresión.

[signal] void QPrintDialog::accepted(QPrinter *printer)

Esta señal se emite cuando el usuario acepta los valores establecidos en el diálogo de impresión. El parámetro printer incluye la impresora a la que se aplicaron los ajustes.

[override virtual] void QPrintDialog::done(int result)

Reimplementa: QDialog::done(int r).

Cierra el diálogo y establece su código de resultado a result. Si este diálogo se muestra con exec(), done() hace que el bucle de eventos local termine, y exec() devuelva result.

Nota: Esta función no se aplica al diálogo de impresión nativo en las plataformas Mac macOS y Windows, porque se requiere que el diálogo sea modal y sólo el usuario puede cerrarlo.

Véase también QDialog::done().

[override virtual] int QPrintDialog::exec()

Reimplementa: QDialog::exec().

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

Abre el diálogo y conecta su señal accepted() a la ranura especificada por receiver y member.

La señal se desconectará de la ranura cuando se cierre el diálogo.

QPrinter *QPrintDialog::printer()

Devuelve la impresora con la que funciona este diálogo de impresora. Esto puede ser útil cuando se utiliza el método QPrintDialog::open().

void QPrintDialog::setOption(QAbstractPrintDialog::PrintDialogOption option, bool on = true)

Establece el option dado para que esté habilitado si on es verdadero; de lo contrario, borra el option dado.

Véase también options y testOption().

[override virtual] void QPrintDialog::setVisible(bool visible)

Reimplementa: QDialog::setVisible(bool visible).

bool QPrintDialog::testOption(QAbstractPrintDialog::PrintDialogOption option) const

Devuelve true si el option dado está habilitado; en caso contrario, devuelve false.

Véase también options y setOption().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.