Learn what Felgo offers to help your business succeed. Start your free evaluation today! Felgo for Your Business

QPrintEngine Class

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

Header: #include <QPrintEngine>
CMake: find_package(Qt6 REQUIRED COMPONENTS PrintSupport)
target_link_libraries(mytarget PRIVATE Qt6::PrintSupport)
qmake: QT += printsupport

Note: All functions in this class are reentrant.

Public Types

enum PrintEnginePropertyKey { PPK_CollateCopies, PPK_ColorMode, PPK_Creator, PPK_Duplex, PPK_DocumentName, …, 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 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 QPageLayout::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().

Qt_Technology_Partner_RGB_475 Qt_Service_Partner_RGB_475_padded