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().
© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.