Sur cette page

QPrintPreviewDialog Class

La classe QPrintPreviewDialog fournit une boîte de dialogue permettant de prévisualiser et de configurer la mise en page pour l'impression. En savoir plus...

En-tête : #include <QPrintPreviewDialog>
CMake : find_package(Qt6 REQUIRED COMPONENTS PrintSupport)
target_link_libraries(mytarget PRIVATE Qt6::PrintSupport)
qmake : QT += printsupport
Hérite de : QDialog

Fonctions publiques

QPrintPreviewDialog(QPrinter *printer, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
QPrintPreviewDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
virtual ~QPrintPreviewDialog()
void open(QObject *receiver, const char *member)
QPrinter *printer()

Fonctions publiques réimplémentées

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

Signaux

void paintRequested(QPrinter *printer)

Description détaillée

L'utilisation de QPrintPreviewDialog dans votre application existante est très simple :

  1. Créez l'objet QPrintPreviewDialog.

    Vous pouvez créer un objet QPrintPreviewDialog à partir d'un objet « QPrinter » existant, ou demander à QPrintPreviewDialog d'en créer un pour vous, qui correspondra à l'imprimante par défaut du système.

  2. Connectez le signal ` paintRequested()` à un slot.

    Lorsque la boîte de dialogue doit générer un ensemble de pages d’aperçu, le signal ` paintRequested()` est émis. Vous pouvez utiliser exactement le même code pour l’impression proprement dite que pour la génération de l’aperçu, y compris l’appel à ` QPrinter::newPage()` pour démarrer une nouvelle page dans l’aperçu. Connectez un slot au signal ` paintRequested()`, dans lequel vous dessinez sur l’objet ` QPrinter ` transmis au slot.

  3. Appelez la fonction exec().

    Appelez QPrintPreviewDialog::exec() pour afficher la boîte de dialogue d’aperçu.

Voir également QPrinter, QPrintDialog, QPageSetupDialog et QPrintPreviewWidget.

Documentation sur les fonctions membres

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

Crée un objet `QPrintPreviewDialog` basé sur ` printer ` et dont le widget parent est ` parent `. Les indicateurs du widget ` flags ` sont transmis au constructeur de ` QWidget `.

Voir également QWidget::setWindowFlags().

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

Cela créera un objet ` QPrinter ` interne, qui utilisera l'imprimante par défaut du système.

Il s'agit d'une fonction surchargée.

[virtual noexcept] QPrintPreviewDialog::~QPrintPreviewDialog()

Supprime l'QPrintPreviewDialog.

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

Réimplémente : QDialog::done(int r).

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

Ouvre la boîte de dialogue et relie son signal `finished(int)` au slot spécifié par ` receiver ` et ` member`.

Le signal sera déconnecté du slot lorsque la boîte de dialogue sera fermée.

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

Ce signal est émis lorsque l'QPrintPreviewDialog e doit générer un ensemble de pages d'aperçu.

L'instance ` printer ` fournie correspond au périphérique de dessin sur lequel vous devez dessiner le contenu de chaque page, à l'aide de l'instance ` QPrinter `, de la même manière que vous le feriez lors d'une impression directe.

QPrinter *QPrintPreviewDialog::printer()

Renvoie un pointeur vers l'objet ` QPrinter ` sur lequel cette boîte de dialogue opère actuellement.

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

Réimplémente : QDialog::setVisible(bool visible).

© 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.