Sur cette page

QPrintEngine Class

La classe `QPrintEngine` définit une interface décrivant la manière dont ` QPrinter ` interagit avec un sous-système d'impression donné. En savoir plus...

En-tête : #include <QPrintEngine>
CMake : find_package(Qt6 REQUIRED COMPONENTS PrintSupport)
target_link_libraries(mytarget PRIVATE Qt6::PrintSupport)
qmake : QT += printsupport

Remarque : toutes les fonctions de cette classe sont réentrantes.

Types publics

enum PrintEnginePropertyKey { PPK_CollateCopies, PPK_ColorMode, PPK_Creator, PPK_Duplex, PPK_DocumentName, …, PPK_CustomBase }

Fonctions publiques

virtual ~QPrintEngine()
virtual bool abort() = 0
virtual int metric(QPaintDevice::PaintDeviceMetric id) const = 0
virtual bool newPage() = 0
virtual QPrinter::PrinterState printerState() const = 0
virtual QVariant property(QPrintEngine::PrintEnginePropertyKey key) const = 0
virtual void setProperty(QPrintEngine::PrintEnginePropertyKey key, const QVariant &value) = 0

Description détaillée

Lors de la création de votre propre moteur d'impression, il est courant de dériver à la fois de ` QPaintEngine ` et de `QPrintEngine`. Les différentes propriétés d'un moteur d'impression sont récupérées via ` property()` et définies via ` setProperty()`.

Voir également QPaintEngine.

Documentation sur les types de membres

enum QPrintEngine::PrintEnginePropertyKey

Cette énumération sert à échanger des propriétés entre le moteur d'impression et QPrinter. Une propriété peut être prise en charge ou non par un moteur d'impression donné.

ConstanteValeurDescription
QPrintEngine::PPK_CollateCopies0Valeur booléenne indiquant si l'impression doit être triée ou non.
QPrintEngine::PPK_ColorMode1Fait référence à QPrinter::ColorMode, en couleur ou en monochrome.
QPrintEngine::PPK_Creator2Chaîne de caractères décrivant l’auteur du document.
QPrintEngine::PPK_Duplex20Valeur booléenne indiquant si les deux faces du papier d'impression doivent être utilisées pour l'impression.
QPrintEngine::PPK_DocumentName3Une chaîne de caractères décrivant le nom du document dans le spouleur.
QPrintEngine::PPK_FontEmbedding19Une valeur booléenne indiquant si les données relatives aux polices du document doivent être intégrées dans les données envoyées à l'imprimante.
QPrintEngine::PPK_FullPage4Une valeur booléenne indiquant si l’impression doit s’effectuer en pleine page ou non.
QPrintEngine::PPK_NumberOfCopies5Obsolète. Un entier spécifiant le nombre de copies. Utilisez plutôt PPK_CopyCount.
QPrintEngine::PPK_Orientation6Spécifie une valeur d'QPageLayout::Orientation.
QPrintEngine::PPK_OutputFileName7Le nom du fichier de sortie sous forme de chaîne de caractères. Un nom de fichier vide indique que l'imprimante ne doit pas imprimer dans un fichier.
QPrintEngine::PPK_PageOrder8Spécifie une valeur d'QPrinter::PageOrder.
QPrintEngine::PPK_PageRect9Une valeur d'QRect s spécifiant le rectangle de la page
QPrintEngine::PPK_PageSize10Obsolète. Utilisez plutôt PPK_PaperSize.
QPrintEngine::PPK_PaperRect11QRect définissant le rectangle de la page.
QPrintEngine::PPK_PaperSource12Spécifie une valeur d'QPrinter::PaperSource.
QPrintEngine::PPK_PaperSources21Spécifie plusieurs valeurs d'QPrinter::PaperSource.
QPrintEngine::PPK_PaperName26Une chaîne de caractères spécifiant le nom du papier.
QPrintEngine::PPK_PaperSizePPK_PageSizeSpécifie une valeur QPrinter::PaperSize.
QPrintEngine::PPK_PrinterName13Une chaîne de caractères spécifiant le nom de l'imprimante.
QPrintEngine::PPK_PrinterProgram14Une chaîne de caractères indiquant le nom du programme d'impression utilisé pour l'impression,
QPrintEngine::PPK_Resolution15Un entier indiquant le nombre de points par pouce pour cette imprimante.
QPrintEngine::PPK_SelectionOption16 
QPrintEngine::PPK_SupportedResolutions17Une liste de QVariants de type entier décrivant l'ensemble des résolutions prises en charge par l'imprimante.
QPrintEngine::PPK_WindowsPageSize18Un entier spécifiant une entrée DM_PAPER sous Windows.
QPrintEngine::PPK_CustomPaperSize22Un objet QSizeF spécifiant un format de papier personnalisé dans l'unité « QPrinter::Point ».
QPrintEngine::PPK_PageMargins23Un QList<QVariant> contenant les valeurs des marges gauche, supérieure, droite et inférieure dans l'unité QPrinter::Point.
QPrintEngine::PPK_CopyCount24Un entier spécifiant le nombre de copies à imprimer.
QPrintEngine::PPK_SupportsMultipleCopies25Une valeur booléenne indiquant si l’imprimante prend en charge ou non l’impression de plusieurs exemplaires en un seul travail.
QPrintEngine::PPK_QPageSize27Définissez le format de la page à l'aide d'un objet ` QPageSize `.
QPrintEngine::PPK_QPageMargins28Définissez les marges de la page à l’aide d’un std::pair composé d’un objet ` QMarginsF ` et d’un objet ` QPageLayout::Unit`.
QPrintEngine::PPK_QPageLayout29Définissez la mise en page à l'aide d'un objet ` QPageLayout `.
QPrintEngine::PPK_CustomBase0xff00Base d'extension.

Documentation des fonctions membres

[virtual noexcept] QPrintEngine::~QPrintEngine()

Endommage le moteur d'impression.

[pure virtual] bool QPrintEngine::abort()

Ordonne au moteur d'impression d'interrompre le processus d'impression. Renvoie « true » en cas de succès ; sinon, renvoie « false ».

[pure virtual] int QPrintEngine::metric(QPaintDevice::PaintDeviceMetric id) const

Renvoie la métrique correspondant à l'id.

[pure virtual] bool QPrintEngine::newPage()

Ordonne au moteur d'impression de commencer une nouvelle page. Renvoie « true » si l'imprimante a pu créer la nouvelle page ; sinon, renvoie « false ».

[pure virtual] QPrinter::PrinterState QPrintEngine::printerState() const

Renvoie l'état actuel de l'imprimante utilisée par le moteur d'impression.

[pure virtual] QVariant QPrintEngine::property(QPrintEngine::PrintEnginePropertyKey key) const

Renvoie la propriété du moteur d'impression spécifiée par key.

Voir aussi setProperty().

[pure virtual] void QPrintEngine::setProperty(QPrintEngine::PrintEnginePropertyKey key, const QVariant &value)

Définit la propriété du moteur d'impression spécifiée par ` key ` sur la valeur indiquée ` value`.

Voir également property().

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