On this page
QPrintEngine Class
The QPrintEngine class defines an interface for how QPrinter interacts with a given printing subsystem. More...
| Header: | #include <QPrintEngine> | 
| qmake: | QT += printsupport | 
Note: All functions in this class are reentrant.
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(QPrintEngine::PrintEnginePropertyKey key) const = 0 | 
| virtual void | setProperty(QPrintEngine::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 | 
      20 | 
      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 | 
      21 | 
      Specifies more than one QPrinter::PaperSource value. | 
QPrintEngine::PPK_PaperName | 
      26 | 
      A string specifying the name of the paper. | 
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_WindowsPageSize | 
      18 | 
      An integer specifying a DM_PAPER entry on Windows. | 
QPrintEngine::PPK_CustomPaperSize | 
      22 | 
      A QSizeF specifying a custom paper size in the QPrinter::Point unit. | 
QPrintEngine::PPK_PageMargins | 
      23 | 
      A QList<QVariant> containing the left, top, right and bottom margin values in the QPrinter::Point unit. | 
QPrintEngine::PPK_CopyCount | 
      24 | 
      An integer specifying the number of copies to print. | 
QPrintEngine::PPK_SupportsMultipleCopies | 
      25 | 
      A boolean value indicating whether or not the printer supports printing multiple copies in one job. | 
QPrintEngine::PPK_QPageSize | 
      27 | 
      Set the page size using a QPageSize object. | 
QPrintEngine::PPK_QPageMargins | 
      28 | 
      Set the page margins using a QPair of QMarginsF and QPageLayout::Unit. | 
QPrintEngine::PPK_QPageLayout | 
      29 | 
      Set the page layout using a QPageLayout object. | 
QPrintEngine::PPK_CustomBase | 
      0xff00 | 
      Basis for extension. | 
Member Function Documentation
[virtual] QPrintEngine::~QPrintEngine()
  Destroys the print engine.
[pure virtual] bool QPrintEngine::abort()
  Instructs the print engine to abort the printing process. Returns true if successful; otherwise returns false.
[pure virtual] int QPrintEngine::metric(QPaintDevice::PaintDeviceMetric id) const
  Returns the metric for the given id.
[pure virtual] bool QPrintEngine::newPage()
  Instructs the print engine to start a new page. Returns true if the printer was able to create the new page; otherwise returns false.
[pure virtual] QPrinter::PrinterState QPrintEngine::printerState() const
  Returns the current state of the printer being used by the print engine.
[pure virtual] QVariant QPrintEngine::property(QPrintEngine::PrintEnginePropertyKey key) const
  Returns the print engine's property specified by key.
See also setProperty().
[pure virtual] void QPrintEngine::setProperty(QPrintEngine::PrintEnginePropertyKey key, const QVariant &value)
  Sets the print engine's property specified by key to the given value.
See also property().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
 https://doc.qt.io/qt-5.12/qprintengine.html