Qt Reference Documentation

# QPrintEngine Class Reference

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

     #include <QPrintEngine>

Note: All functions in this class are reentrant.

- List of all members, including inherited members

## Public Types

enum | PrintEnginePropertyKey { PPK_CollateCopies, PPK_ColorMode, PPK_Creator, PPK_Duplex, ..., PPK_CustomBase }

## Public Functions

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 ( PrintEnginePropertyKey key ) const = 0
virtual void | setProperty ( PrintEnginePropertyKey key, const QVariant & value ) = 0

## 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().

See also QPaintEngine.

## Member Type Documentation

### enum 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.

## Member Function Documentation

### QPrintEngine::~QPrintEngine ()`[virtual]`

Destroys the print engine.

### bool QPrintEngine::abort ()`[pure virtual]`

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

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

Returns the metric for the given id.

### bool QPrintEngine::newPage ()`[pure virtual]`

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 () const`[pure virtual]`

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

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

Returns the print engine's property specified by key.

See also setProperty().

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

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

See also property().