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 |
- List of all members, including inherited members
- QPrintEngine is part of Printer and Printing APIs.
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 noexcept]
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().