|  | Home · All Classes · Modules

# QPrintEngine Class Reference
[QtGui module]

The QPrintEngine class defines an interface for how QPrinter interacts with a given printing subsystem. More...

### Types

- enum PrintEnginePropertyKey { PPK_CollateCopies, PPK_ColorMode, PPK_Creator, PPK_DocumentName, ..., PPK_CustomBase }

### Methods

- __init__ (self)
- __init__ (self, QPrintEngine)
- bool abort (self)
- int metric (self, QPaintDevice.PaintDeviceMetric)
- bool newPage (self)
- QPrinter.PrinterState printerState (self)
- QVariant property (self, PrintEnginePropertyKey key)
- setProperty (self, PrintEnginePropertyKey key, QVariant value)

## Detailed Description

The QPrintEngine class defines an interface for how QPrinter interacts with a given printing subsystem.

The common case when creating your own print engine is to derive from both QPaintEngine and QPrintEngine. Various properties of a print engine are given with property() and set with setProperty().

## Type Documentation

### QPrintEngine.PrintEnginePropertyKey

This enum is used to communicate properties between the print engine and QPrinter. A property may or may not be supported by a given print engine.

Constant | Value | Description
--- | --- | ---
`QPrintEngine.PPK_CollateCopies` | `0` | A boolean value indicating whether the printout should be collated or not.
`QPrintEngine.PPK_ColorMode` | `1` | Refers to QPrinter.ColorMode, either color or monochrome.
`QPrintEngine.PPK_Creator` | `2` | A string describing the document's creator.
`QPrintEngine.PPK_Duplex` | `21` | A boolean value indicating whether both sides of the printer paper should be used for the printout.
`QPrintEngine.PPK_DocumentName` | `3` | A string describing the document name in the spooler.
`QPrintEngine.PPK_FontEmbedding` | `19` | A boolean value indicating whether data for the document's fonts should be embedded in the data sent to the printer.
`QPrintEngine.PPK_FullPage` | `4` | A boolean describing if the printer should be full page or not.
`QPrintEngine.PPK_NumberOfCopies` | `5` | Obsolete. An integer specifying the number of copies. Use PPK_CopyCount instead.
`QPrintEngine.PPK_Orientation` | `6` | Specifies a QPrinter.Orientation value.
`QPrintEngine.PPK_OutputFileName` | `7` | The output file name as a string. An empty file name indicates that the printer should not print to a file.
`QPrintEngine.PPK_PageOrder` | `8` | Specifies a QPrinter.PageOrder value.
`QPrintEngine.PPK_PageRect` | `9` | A QRect specifying the page rectangle
`QPrintEngine.PPK_PageSize` | `10` | Obsolete. Use PPK_PaperSize instead.
`QPrintEngine.PPK_PaperRect` | `11` | A QRect specifying the paper rectangle.
`QPrintEngine.PPK_PaperSource` | `12` | Specifies a QPrinter.PaperSource value.
`QPrintEngine.PPK_PaperSources` | `22` | Specifies more than one QPrinter.PaperSource value.
`QPrintEngine.PPK_PaperSize` | `PPK_PageSize` | Specifies a QPrinter.PaperSize value.
`QPrintEngine.PPK_PrinterName` | `13` | A string specifying the name of the printer.
`QPrintEngine.PPK_PrinterProgram` | `14` | A string specifying the name of the printer program used for printing,
`QPrintEngine.PPK_Resolution` | `15` | An integer describing the dots per inch for this printer.
`QPrintEngine.PPK_SelectionOption` | `16` |
`QPrintEngine.PPK_SupportedResolutions` | `17` | A list of integer QVariants describing the set of supported resolutions that the printer has.
`QPrintEngine.PPK_SuppressSystemPrintStatus` | `20` | Suppress the built-in dialog for showing printing progress. As of 4.1 this only has effect on Mac OS X where, by default, a status dialog is shown.
`QPrintEngine.PPK_WindowsPageSize` | `18` | An integer specifying a DM_PAPER entry on Windows.
`QPrintEngine.PPK_CustomPaperSize` | `23` | A QSizeF specifying a custom paper size in the QPrinter.Point unit.
`QPrintEngine.PPK_PageMargins` | `24` | A QList<QVariant> containing the left, top, right and bottom margin values.
`QPrintEngine.PPK_CopyCount` | `25` | An integer specifying the number of copies to print.
`QPrintEngine.PPK_SupportsMultipleCopies` | `26` | A boolean value indicating whether or not the printer supports printing multiple copies in one job.
`QPrintEngine.PPK_CustomBase` | `0xff00` | Basis for extension.

## Method Documentation

### QPrintEngine.__init__ (self)

### QPrintEngine.__init__ (self, QPrintEngine)

### bool QPrintEngine.abort (self)

This method is abstract and should be reimplemented in any sub-class.

Instructs the print engine to abort the printing process. Returns true if successful; otherwise returns false.

### int QPrintEngine.metric (self, QPaintDevice.PaintDeviceMetric)

This method is abstract and should be reimplemented in any sub-class.

Returns the metric for the given id.

### bool QPrintEngine.newPage (self)

This method is abstract and should be reimplemented in any sub-class.

Instructs the print engine to start a new page. Returns true if the printer was able to create the new page; otherwise returns false.

### QPrinter.PrinterState QPrintEngine.printerState (self)

This method is abstract and should be reimplemented in any sub-class.

Returns the current state of the printer being used by the print engine.

### QVariant QPrintEngine.property (self, PrintEnginePropertyKey key)

This method is abstract and should be reimplemented in any sub-class.

Returns the print engine's property specified by key.

See also setProperty().

### QPrintEngine.setProperty (self, PrintEnginePropertyKey key, QVariant value)

This method is abstract and should be reimplemented in any sub-class.

Sets the print engine's property specified by key to the given value.

See also property().